src


Log

Author Commit Date CI Message
angle-autoroll 4c23b817 2021-10-08T19:29:08 Roll vulkan-deps from d78bd80b30f6 to 651804d6bf55 (11 revisions) Suppressing SYNC-HAZARD-WRITE_AFTER_WRITE messages after https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/3403 https://chromium.googlesource.com/vulkan-deps.git/+log/d78bd80b30f6..651804d6bf55 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/c8cdbac705..b9ba4c5743 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/8c0ee92eb6..aeffbbd6b9 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/7a6a52723b..51279399ea If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/+doc/main/autoroll/README.md Bug: angleproject:6550, angleproject:6551 Tbr: ynovikov@google.com Change-Id: I8b85fd82fc1042a5632027b8d6fada123533f276 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3214695 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 5794073a 2021-10-08T15:20:02 Vulkan: Lift copy_tex_image_conversion test suppressions Issue was fixed in anglebug.com/5502 Bug: angleproject:3817 Change-Id: I1bdebac1e9cca71992818e0cb95ccc023149973f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213295 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop da804530 2021-10-08T12:52:04 Capture/Replay: Skip pokemon_unite on Intel+Windows Test is getting inconsistent results around foliage edges. Test: angle_perftests --gtest_filter="*pokemon_unite*" Bug: b/201900915 Bug: angleproject:6494 Bug: angleproject:6548 Change-Id: I06a72bcd2e471613caf1787ee8e5fd6e7f22817d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3214691 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi d134581b 2021-10-07T16:09:25 Vulkan: Remove SyncHelper::mEvent Now that inserting a sync object incurs a flush, we can use the serial to perform synchronization. Bug: angleproject:6464 Bug: angleproject:6481 Change-Id: I8c82a12855b6497861ce34854d165af82956b384 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212573 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 9aa9f7c2 2021-10-08T14:04:41 Remove vertex attribute test suppressions. Bug: angleproject:2797 Change-Id: I64b17d674e2d4a490c321357474e3260eb46f43c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212897 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Charlie Lao 74b2886f 2021-09-22T13:49:57 Vulkan: Try to use CPU to copy when preserving old buffer data When glBufferSubData is called, we may acquire a new buffer if buffer is still GPU busy. When this happened, we have to preserve buffer content if old buffer has valid data in it. Instead of always use GPU to do copy, this CL will check if GPU is not writing to the buffer, we will just use CPU to do the copy form old buffer to new buffer from the ranges outside subData, controlled by the feature flag preferCPUWhenPreservingBufferData. Bug: b/200067929 Change-Id: I42053104b2be8da5f399cca92e934254988f2fd8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3177322 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao e437c4ad 2021-09-22T09:15:19 Vulkan: Only preserve buffer data when BufferVk has valid data When we receive glBufferSubData call and GPU is still accessing the buffer, we have two code paths to update data. If subData is more than half of the entire buffer range, we choose to acquire a new buffer and use DMA to copy the rest of buffer that outside of subData range from the old buffer back to the new buffer so that existing buffer data is being preserved. Otherwise we stage subData to use GPU buffer to buffer copy later on when buffer is been used. The reasoning behind is to minimize the amount of data copy. The improvement here is that if previously app called glBufferData with null pointer, we really do not have any valid data in the buffer and there is no need to preserve the existing buffer data. This CL tracks whether buffer has any valid data or not and also put this into consideration when we pick which code path to go. We also use this information to avoid preserve the existing data in BufferVk::acquireAndUpdate Bug: b/200067929 Change-Id: I266dd93bed2d3c07e3a5af3e4e613e7f6023b393 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3176500 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 0b779ac4 2021-10-07T14:08:10 Update old NVIDIA bug suppression. Only fails now on Linux. Move to expectations file. Bug: angleproject:2755 Change-Id: I28acc569764d94f1095c8eb96e15a1eb19e4695a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212571 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 666fcf38 2021-10-08T12:19:15 Rename functions that overlap with Windows APIs. Bug: angleproject:6283 Change-Id: Ifcd9ea9e3bf729fd2066178eb9429050b2f10518 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212894 Reviewed-by: Bruce Dawson <brucedawson@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill b03c4753 2021-10-07T13:58:49 Update suppressions for clear test. Bug: angleproject:2689 Bug: angleproject:5165 Change-Id: I3023735058ed11ac9060b4de9c67e20abd387e85 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212570 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang e13bbea9 2021-10-07T15:52:51 Revert "Disable clearing textures for robust init on Mac." This reverts commit 33207313b2172525d7dc0526afd6d0aa51503bb1. Reason for revert: Spike in flush crashes Bug: chromium:1257538 Original change's description: > Disable clearing textures for robust init on Mac. > > Suspecting this path generates errors and hangs. > > Bug: chromium:1253356 > Change-Id: I0ef4a71578fa15631074f394d49e9878f3e301df > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3187131 > Commit-Queue: Kenneth Russell <kbr@chromium.org> > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Bug: chromium:1253356 Change-Id: I90630bdac02381511ae042b1ef91a729c7f859dc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212331 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 6ffaed86 2021-10-07T13:38:51 Remove N5X workaround in point size test. Bug: angleproject:2553 Change-Id: Id5db6517f86630cd7c6216af8a259399c827707d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212569 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 4029a734 2021-10-07T13:34:49 Enable previously slow Android Depth/Stencil tests. Bug: angleproject:2549 Change-Id: I25c6cf2547a7eec544840cc641535048626b2fbe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212612 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Nico Weber 90403672 2021-10-08T09:50:47 Fix Wbitwise-instead-of-logical warnings `a && b` only evaluates b if a is true. `a & b` always evaluates both a and b. If a and b are of type bool, `&&` is usually what you want, so clang now warns on `&` where both arguments are of type bool. From what I can tell, in ANGLE it wasn't important if we evaluate both branches or not in the places where this fired, so I went with `&&` everywhere. Bug: chromium:1255745 Change-Id: I7ac6a12c37f28a872de1fe9b9b96abf43e39b21c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212889 Commit-Queue: Nico Weber <thakis@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 31426770 2021-10-08T10:18:18 Re-add suppression for TransformFeedbackTest.BufferOutOfMemory This test fails on the Mac Intel/AMD bots. Suppression was removed during the switch to the direct Metal backend but the test still fails. Bug: angleproject:5345 Change-Id: I64da76a5dbfc6337aef036de0977f8b035e5390d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213852 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Tim Van Patten 86fe5f29 2021-10-04T17:44:12 VVL: Re-enable vkCmdDraw and vkCmdDrawIndexed Re-enable the following VVL checks: VUID-vkCmdDraw-None-02690 VUID-vkCmdDrawIndexed-None-02690 Bug: angleproject:4768 Change-Id: I1469d21634b28c96e0ac2f2b8c4cd4dfec271d2e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3203176 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 7ddfb565 2021-10-07T19:55:02 Android: Re-enable Texture3DCopy.FloatFormats/*Vulkan The test Texture3DCopy.FloatFormats was skipped on Android+Vulkan. This CL re-enables it. Bug: angleproject:4756 Test: Texture3DCopy.FloatFormats/*Vulkan Change-Id: Ia063b1efb5856f6623f6734f4430f06a8b143ba6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213419 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Cody Northrop 57dd7095 2021-10-07T17:48:06 Capture/Replay: Suppress flaky ES3 test The following test is flaking out: GLSLTest_ES3.ComplexCrossExpression/ES3_Vulkan_SwiftShader Bug: angleproject:6543 Change-Id: Ia615a82727144520e863c686f1f6157aa71f2e58 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213420 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 701e8892 2021-10-08T02:56:38 Revert "Translator: Remove the SH_VALIDATE flag" This reverts commit 4ca3d7d64388f043dab688d536776495df40532d. Reason for revert: breaks roll into Chromium crrev.com/c/3213239 SH_VALIDATE is used in gpu_unittests. Original change's description: > Translator: Remove the SH_VALIDATE flag > > The SH_VALIDATE flag is a noop, defined as zero (0). > > Also move option descriptions up in the file. > > Bug: angleproject:6501 > Change-Id: I898106eb68b4508d8f94534cbff66652a69f4f3e > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3207360 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Cody Northrop <cnorthrop@google.com> Bug: angleproject:6501 Change-Id: Ia9983eac58a07e2a6e3d5fe4d1bfccfb9c48ccd0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212709 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Kyle Piddington fab88343 2021-10-07T15:02:35 WebGL Aquarium doesn't render with ANGLE Metal Blits should not be using the context's write mask, this leads to missed color information on blits. Bug: chromium:1257769 Change-Id: Iaf4ff00a727b1bec2424b4d3939fddd4c802a8ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212644 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Cody Northrop 4ca3d7d6 2021-10-05T23:10:09 Translator: Remove the SH_VALIDATE flag The SH_VALIDATE flag is a noop, defined as zero (0). Also move option descriptions up in the file. Bug: angleproject:6501 Change-Id: I898106eb68b4508d8f94534cbff66652a69f4f3e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3207360 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop fe943910 2021-10-02T21:55:34 Tests: Add Pokemon UNITE trace Test: angle_perftests --gtest_filter="*pokemon_unite*" Bug: b/201900915 Bug: angleproject:6494 Change-Id: I37b52a8557f135ca4d7e42eb964f17104d004513 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3201031 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Kyle Piddington af5ea7f9 2021-10-07T12:47:41 PrimitiveRestart tests fail due to incorrect draw commands. Primitive restart draw commands were being encoded incorrectly. Single element ranges were being disregarded, and a maximum draw size was not being enforced when the index buffer was aliased / reused. Bug: angleproject:6535 Change-Id: I5affad4df46c4ab2b3702caa89b483ae685618a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212629 Commit-Queue: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Gregg Tavares <gman@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Charlie Lao 5ab152c6 2021-10-04T14:08:15 Vulkan: Add tests that triggers acquireAndUpdate Add test for shader storage write followed by bufferSubData Add test for image store followed by bufferSubData. Bug: b/200067929 Change-Id: I5895eaa31ee54e79333f0fe26d92e9378f427a3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2553171 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao a52f4032 2021-09-24T15:31:26 Vulkan: Skip releaseImage call when image is invalid releaseImage is only useful if image is already valid. Otherwise it is wasting CPU cycles to go through bunch of release calls that essentially doing nothing. Bug: angleproject:6014 Change-Id: I550b12bdc566cca699f6bf6662d176a01b2bce2e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3183800 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Cody Northrop 8770cefc 2021-10-04T13:47:23 Capture/Replay: Store enums to JSON as hex We're storing some enums in the per-trace JSON as decimal. This makes them difficult to read, i.e.: "DisplayDeviceType": 12810, "DisplayPlatformType": 13392, "DrawSurfaceColorSpace": 12425, If we instead convert them to hex, they are much easier to read and grep the source for. "DisplayDeviceType": "0x320A", "DisplayPlatformType": "0x3450", "DrawSurfaceColorSpace": "0x3089", Since JSON doesn't actually support hexadecimal values, this CL stores them as strings. Ideally we could take this a step farther and store the enum directly in JSON, but we have no facilities for converting a string back to an enum. Bug: angleproject:5133 Bug: angleproject:6515 Change-Id: I7b5d4dc8958d43c611da1fe98887e089f3d855b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204135 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop a559c772 2021-10-07T10:27:56 Tests: Add BADLAND trace Test: angle_perftests --gtest_filter="*badland*" Bug: b/202402554 Bug: angleproject:6541 Change-Id: I357b2a7bdb74c74628d5189d701528b60fa000de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212627 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill 5862234e 2021-10-07T13:15:31 Remove old AMD/Windows/GLES expectation. Bug: angleproject:2486 Change-Id: Ia7cb1195cabe79b0e93f2787ba627999636a2305 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212609 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0f66c861 2021-10-07T09:32:35 Add test that covers HLSL compiler bug. Bug: angleproject:2445 Change-Id: I820b2dba3748bd10ca516ef47f226ff537b78849 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212328 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 212f4592 2021-09-22T12:02:47 Enable direct-to-metal backend by default We are switching over to Apple's direct-to-metal backend instead of generating SPIRV in the metal backend. This CL enables the direct-to-metal generation by default, but the SPIRV backend is still accessible by overriding the feature directMetalGeneration. This CL comes with a change in test expectations to catch new failures and clean up newly passing tests. Bug: angleproject:6080 Change-Id: I4b10ad93c641b88857079a08fb45d3dc575d71f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3175664 Reviewed-by: Gregg Tavares <gman@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Charlie Lao b600d212 2021-09-24T15:05:34 Vulkan: Consolidate calls to respecifyImageStorageAndLevels respecifyImageStorage() calls respecifyImageStorageAndLevels with the same arguments that respecifyImageStorageAndLevels() could easily get from the mImage and TextureState. This CL get rid of respecifyImageStorageAndLevels and only uses respecifyImageStorage(). Bug: angleproject:6532 Change-Id: I388af1f1db0e3ce6c77475a03667fca451ab7013 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3183399 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao 34ee74be 2021-10-06T15:00:49 Vulkan: Remove unused imageBaseLevel from TextureVk::setImageHelper We used to store baseLevel in ImageHelper object. Since then we have removed baseLevel from ImageHelper to make ImageHelper object able to be immutable for immutable textures. During that effort, the usage of baseLevel has been switched to retrieve directly from TextureState directly. This CL removes imageBaseLevel from the call. Bug: angleproject:4999 Change-Id: I6ea8a651ee81bebc8529ffaaaba22c3ce4f8ac90 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3209831 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Cody Northrop 80e31738 2021-10-07T09:08:51 Capture/Replay: Suppress failing ES2 and ES3 tests Bug: angleproject:6180 Bug: angleproject:6425 Bug: angleproject:6513 Bug: angleproject:6538 Change-Id: I175f3f6d3b333aefc2cfcd8aeeff077ca762d396 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212626 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 27e7c4dd 2021-10-01T13:43:57 Vulkan: Submit commands when Sync objects are initialized This CL calls ContextVk::flushImpl() after the sync object (VkEvent) has been created and initialized, so it has a valid Serial when it's waited on later. This change allows us to remove any tracking of pending sync objects, since all sync objects will be flushed and submitted by the end of SyncHelper::initialize(). Bug: angleproject:6464 Test: MultithreadingTest.CreateFenceThreadAClientWaitSyncThreadBDelayedFlush Change-Id: I47e7ced452727b434ed974368311fb3439a107c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3200274 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 62414cf8 2021-10-06T16:07:03 Fix GPU-time-tracking in WebGL perf tests GL_EXT_disjoint_timer_query is not enabled by default in WebGL mode. This change ensures that extension is enabled. Bug: angleproject:4794 Change-Id: I1835f7ed2afd7a155ff9b63fad74a066df59ea4f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3210626 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Lingfeng Yang 95a5bbd4 2021-10-04T13:38:43 Rename FullScreenQuad.vert to FullScreenTri.vert Bug: angleproject:6505 Change-Id: Iafe26ddce51862edcb405f7ca85997a7c3b26fa7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3203172 Commit-Queue: Lingfeng Yang <lfy@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 22ec42ac 2021-10-07T08:37:43 Remove Skip for unsupported AMD config. Bug: angleproject:2423 Change-Id: I70237576fa1e458276675d4bcb36ad890b5f5806 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212327 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 7e490550 2021-10-06T11:16:08 Cleanup Android/Vulkan deqp_egl_test_expectations.txt There are several bugs marked as "fixed", but still have tests marked as fail/skip in deqp_egl_test_expectations.txt. This CL cleans those up. Note that "cleanup" in this case means restricting the fail/skip to just NEXUS5X, since many are still failing on that device. This CL doesn't look to make the list exactly correct, since that testing on that device is in the process of being deprecated anyway. Bug: angleproject:2546 Bug: angleproject:2635 Bug: angleproject:2715 Bug: angleproject:3081 Bug: angleproject:3270 Bug: angleproject:6533 Change-Id: I6cb9444727671997b38770f8d7ba5b3c6a1b019a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208512 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 66c89b0f 2021-10-06T16:28:42 Fix and disable MSVC warnings Needed because some warnings are no longer disabled after http://crrev.com/c/3189512. Also includes https://github.com/KhronosGroup/OpenCL-Headers/pull/179, needed after clang upgrade to llvmorg-14-init-5410-gd0473681 Bug: chromium:1257173 Change-Id: I4f844aa972362c488cb6d37244439e2126f2c1c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3210629 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 161668b6 2021-10-06T21:12:39 Refix ANGLE_DISABLE_POOL_ALLOC build mAlignmentMask was removed in the normal path, but wasn't entirely from this path. This change cleans that up. Bug: angleproject:3167 Change-Id: I34474c114cd50cf94c5bc3c22ad4548414e9baac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3210627 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov d14d0c39 2021-10-06T20:41:12 Redisable PoolAllocatorAlignmentTest.Alignment in Debug Was enabled by crrev.com/c/3206255, but fails. Bug: angleproject:3167, chromium:1257395 Change-Id: Ibe34128c4479c7c2706270e04ef39b5ec29eb1a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3210013 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 9a776e89 2021-10-06T18:08:18 Fix ANGLE_DISABLE_POOL_ALLOC build Broken by crrev.com/c/3206255 Fails rolling into Chromium in crrev.com/c/3208847 on linux-libfuzzer-asan-rel and win-libfuzzer-asan-rel. Bug: angleproject:3167 Change-Id: If5d085492dfa87120c7c24a7102161d625d68e4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3209966 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 7b19a535 2021-10-06T17:13:52 Fix iOS build Broken in crrev.com/c/3206017. ANGLE roll into Chromium crrev.com/c/3208766 fails on ios-simulator due to unused function OperatingSystemVersionNumbers. Bug: chromium:1255114 Change-Id: I2cca5e3cd922733950a51bbc08bf9f41558f8436 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3209207 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Lubosz Sarnecki 26f9041b 2021-10-06T16:50:47 DisplayVk: Always expose EGL_KHR_gl_colorspace. In the case of the sRGB color space the VK_EXT_swapchain_colorspace is actually not required to create a swap chain. The requirement should be lowered and VK_KHR_get_surface_capabilities2 should be used to enumerate if the color spaces from VK_EXT_swapchain_colorspace are available. Bug: angleproject:2514 Bug: b/201993125 Change-Id: Id0d8be05016d3833d14395f6638b85110615164b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208689 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 207906c1 2021-10-05T15:09:38 Clean up Metal test expectations. Before switching to the direct metal backend, we should clean up some passing test expectations so we can track the new test results post-switch. TBR: ynovikov@chromium.org Bug: angleproject:6467 Bug: angleproject:6466 Bug: angleproject:6485 Change-Id: I33e0bd48b41906eb11cc4de09bf86f3ebd44a24f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206691 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Gregg Tavares <gman@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 84f601eb 2021-10-06T13:23:21 Lift Intel specific test expectations. Bug: angleproject:2349 Change-Id: Ib0b6356424452740150b0913e61507839961cf85 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3209087 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 4e22c2c3 2021-01-19T12:42:38 EGL: Merge DisplayAndroid/Gmb into DisplayEGL. These classes classes have a lot of duplicated code for no reason. DisplayGmb still needs more work. Bug: angleproject:5563 Change-Id: Ia3d3d7f0bd7c03b4ac1aece4369c49118426b9de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140498 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Maksim Sisov <msisov@igalia.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi d920e4d1 2021-10-05T22:36:06 Assert that float32->float10/11 doesn't shift by more than 32 some_uint32_value >> 32 has undefined behavior. The code that converts float32 to float10 and float11 should not be shifting by values larger than 32, and this change asserts that. Bug: angleproject:4962 Change-Id: I9f2a914bad7084157cc35a8fb7f0be6f448a854b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3207528 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Shahbaz Youssefi 8906f242 2021-10-05T15:20:33 Change default alignment of pool allocator to pointer-aligned The translator uses the pool allocator with its default alignment. The alignment was previously 16, which is unnecessary. That is changed to sizeof(void *) such that allocations are pointer aligned. Running TracePerfTest.Run/vulkan_manhattan_10 on Linux, the total size of allocations made by this class for the translator goes down from 376832 bytes to 360448 bytes for a ~4.3% improvement. Bug: angleproject:3167 Change-Id: I72c13bc78c1a4ba7c800eccdac82de39c25795f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206256 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 71984bff 2021-10-05T14:59:26 Reduce memory waste in PoolAllocator due to alignments Prior to this change, the PoolAllocator wasted memory in alignments. This was due to the fact that alignment was made to the wrong values, and they were fixed with more alignments and conservative extra space allocations. This change makes sure that alignment is applied once, and such that the actual pointer that needs to be aligned is aligned, not the header that might come before it, and that allocation size is calculated precisely. This improves memory allocation by reducing waste, but only affects the use of the pool in the translator, as Vulkan secondary command buffers (the other user) use an alignment of 1 and take a different path. Running TracePerfTest.Run/vulkan_manhattan_10 on Linux, the total size of allocations made by this class for the translator goes down from 466944 bytes to 376832 bytes for a ~20% improvement. Bug: angleproject:3167 Change-Id: Ib4e6fd23ac32c8fb21810b20cd383758b8bff47f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206255 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 1cd6708a 2021-10-05T10:24:35 Clean up the PoolAllocator class Many things were unnecessarily in the header and are now moved to the source file. Bug: angleproject:3167 Change-Id: I52b83fdde5b6e984c5f5491c2ce050debf78f8b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206072 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 1b669f5d 2021-10-05T15:55:58 Add test names and metric names for BitSetIteratorPerf. New names are like so: [ RUN ] BitSetIteratorPerfTest/BitSetArray_96.Run *RESULT BitSetIteratorPerfTest/BitSetArray_96.wall_time: run= 8609.2511842004 ns .. etc ... Bug: angleproject:2244 Change-Id: I461f52a0ee098875544203c618c6b24598281f73 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206257 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Nico Weber d78bd836 2021-10-05T16:10:27 win: Remove call to deprecated GetVersionEx Bug: chromium:1255114 Change-Id: Ie0539205d5547b1da05ec957096a369f7d9ababe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206017 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop dba896cf 2021-10-04T22:17:48 Vulkan: Suppress modified device count warning This is a loader warning added in the following commit: https://github.com/KhronosGroup/Vulkan-Loader/commit/8daad81803f5ed9b36a172c299140dde7a8c4494 It fires on our corp laptops that contain multiple GPUs (one high-performance, one integrated). Most likely caused by Nvidia's Optimus Vulkan layer. It doesn't quite match the patterns of validation layers, but is straightforward to skip by searching for the beginning of the message. Bug: angleproject:6514 Change-Id: Ia93896364cae9e879faf068a100064f2edd04af2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204141 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi daaaba0a 2021-10-04T22:28:56 Translator: Fix uniform/struct separation for anonymous arrays When a uniform array of anonymous structs was separated into a struct declaration and uniform array, the uniform symbol was being replaced, but not the intermediate nodes that index it. This caused an AST validation error. Bug: angleproject:4740 Change-Id: Ib9d0115bd01c39d1a007f644e46b5e35c12c9304 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204590 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 27a98cf4 2021-10-04T23:39:16 Vulkan: Allow debug labels inside render pass Debug groups and events were previously recorded to the outside-RP command buffer. With this change, they are inserted in the RP command buffer if render pass has started, or outside-RP command buffer otherwise. This creates a more accurate view of groups the application creates. Bug: angleproject:4597 Change-Id: If165bb88e3e66219bad2fe4acc1cc4653c97fb1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204591 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com>
Shahbaz Youssefi dde409be 2021-10-04T22:05:47 Translator: Produce error on func(void, int) If void is specified, another parameter cannot follow. This change ensures that this produces an error. Bug: angleproject:6338 Change-Id: I18602ea4b52c96e498f4f2dc627d4ba2210d6fa7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3203795 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexis Hetu 0364270d 2021-10-04T17:54:03 Alignment fix for IOSurface A wrong alignment was causing an issue in some tests. This CL doesn't fix any single WebGL conformance test entirely, but it fixes 564 of the 1292 failing sub-cases within the conformance/textures/webgl_canvas/* category. Bug: chromium:1099979 Change-Id: Id6051b24cb3c335d2f97f2c38c8de1dc7afde52f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3203790 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Jamie Madill ab7b5838 2021-10-05T10:58:10 GL: Remove old NVIDIA workaround. This affects drivers from ~ early 2017. These drivers should be fairly rare by now. Bug: angleproject:2059 Change-Id: I0d086ee00a0cc0c38ffdbf2294341fe832f80fd7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206070 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill dccc0f8c 2021-10-05T09:22:19 Add docs for DXGI and D3D11 format tables. Bug: angleproject:1691 Change-Id: I7a07228853aaf8f1536b145657a737dcf3e0e1f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3205798 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 18aa5d22 2021-10-05T08:40:48 dEQP 3.1: Lift NVIDIA/Win/GL expectation. Should be fixed on the bots now. Bug: angleproject:1665 Change-Id: I70431434ac57dae3330c486d42b964b94a237491 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3205796 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 234ebd58 2021-10-05T08:34:12 Lift old AMD/Win/GL expectations. No longer tested on the bots. Bug: angleproject:1643 Change-Id: I5e1ca8b9c2f673ebcb44c67879829f9fd346edf0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3205795 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 831f017e 2021-10-05T08:05:52 Lift AMD desktop GL DrawBuffersTest expectations. We no longer test on this config. Bug: angleproject:1533 Bug: angleproject:1535 Change-Id: Iba45a9426ba316e5c83f4501918070f6439daae9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3205793 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gert Wollny d4d4808f 2021-10-04T18:15:04 Capture/Replay: Update more expectations and add bugs Bug: angleproject:6180 Bug: angleproject:6221 Bug: angleproject:6286 Bug: angleproject:6425 Bug: angleproject:6510 Bug: angleproject:6511 Bug: angleproject:6512 Bug: angleproject:6513 Bug: angleproject:6521 Change-Id: If360279bfb1d6f9a1cb3be336e85b29f64b580c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3200615 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Jamie Madill 9a455825 2021-10-05T07:51:31 dEQP: Enable Android mipmap tests on GLES. These should be running correctly on the Pixel 4. Bug: angleproject:1529 Change-Id: Ieb55b63d8934d8dd2c516c0f1ce71e84584d4471 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3205791 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill f85ec039 2021-10-05T07:42:41 Lift failing Android expectations. These failures were related to the N5X. Bug: angleproject:1488 Change-Id: I57b8fdeb914a8e33793b0cd011255205baf7858f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3205790 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill a49394ae 2021-10-04T16:30:58 Lift failing Android test expectations. These were in the fbo.completeness.renderable.texture group. Bug: angleproject:1487 Change-Id: I96f7e4428ebe4e018bdaee7f4ba5fd3bba131405 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3203210 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gert Wollny f00f1009 2021-09-30T18:59:25 Capture/Replay: Fix readback of zero-sized renderbuffers Only read back the renderbuffer content if the renderbuffer has a non-zero size. Add a test to test the capture/replay in this case. Bug: angleproject:6425 Change-Id: I943804884f18a3a2b9de526309dd500de9dd6fd4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3197572 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 4f0e7e7f 2021-10-04T14:50:10 Vulkan: Remove extraCopyBufferRegion workaround. Bug: angleproject:2838 Change-Id: I53ba3cf307f930ae9550d1bfee4650df6e826930 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3202475 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 2f1d503b 2021-09-16T21:49:14 Vulkan: Fix Vulkan secondary command buffers This change abstracts initialization, begin/end, reset and recycle of command buffers such that both Vulkan and ANGLE secondary command buffers are supported. Bug: angleproject:6100 Change-Id: I8c79764ac98b599fda08fe45cf8c4f0a6573f0f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987873 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang ad8e4d99 2021-09-28T11:48:46 Remove EGL_ANGLE_flexible_surface_compatibility This extension has been superseded by EGL_KHR_no_config_context. Bug: chromium:1253930 Change-Id: Ie299c34baa84e9f47c73ddb5a0636536bf510d72 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3190612 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten 58626b82 2021-10-04T13:01:17 Vulkan: Enable BlitFramebufferANGLETest tests The following tests were disabled for the Vulkan backend, but appears to now be working locally: BlitFramebufferANGLETest.MultisampledBGRAToRGBA BlitFramebufferANGLETest.MultisampledRGBAToBGRA Bug: angleproject:4694 Test: BlitFramebufferANGLETest.MultisampledBGRAToRGBA Test: BlitFramebufferANGLETest.MultisampledRGBAToBGRA Change-Id: Icd88c484fbbbe65561634e97df43c51841d61c10 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3198402 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kyle Piddington 54d4bfe5 2021-09-28T17:27:57 Update ANGLE Metal to Webkit at Sept 29 2021 This commit merges changes from Webkit into ANGLE upstream. The following commits were used: Current: https://git.webkit.org/?p=WebKit.git;a=commit;h=e01d0bda8f4b7dc2fd834b92802d15d8c15735f Previous: https://git.webkit.org/?p=WebKit.git;a=commit;h=492f078198748e8ff248eea0bb979cf79e5f5adfj The following commits were merged in from the Webkit Repository: (Hashes from git://git.webkit.org/WebKit-https.git) 03ea44c78ce5665d4ec9add271260121cbc7bc6c Problems with drawElements in some conditions https://bugs.webkit.org/show_bug.cgi?id=230107 c8dc8e0c4d1109d39a62eb197b45e95132380290 ANGLE Metal: single-component swizzles do not compile https://bugs.webkit.org/show_bug.cgi?id=230472 7285dbaaf5af15877d6c332b30ef7a4d67225460 webgl-compressed-texture-s3tc-srgb.html fails on Intel+AMD Metal https://bugs.webkit.org/show_bug.cgi?id=229941 4c72f92967ecd2a095666fef431384c4f5f60fb4 fragcolor-fragdata-invariant.html fails https://bugs.webkit.org/show_bug.cgi?id=223317 cd943145467f54e5928793c0dd3dfa2313c007dd ANGLE Metal index buffer restart range cache could be maintained.. https://bugs.webkit.org/show_bug.cgi?id=227451 f075ff77e592eabd54dd659a8e13617cc5faedc8 ANGLE Metal infinities and NaNs generated with incorrect syntax https://bugs.webkit.org/show_bug.cgi?id=229439 5862073269122f4b2d43d96d3922757557755e86 [Metal ANGLE] Fix over-autorelease of rx::DisplayMtl::getMetalDeviceMatchingAttribute()... <https://webkit.org/b/229128> 85f797ad31db048cb82cbafd428ef77f0b839312 ANGLE Cocoa compiles.... https://bugs.webkit.org/show_bug.cgi?id=228987 a67918ba279ad4842b6ae84a79c3f1c0cdc35ace Avoid infinite recursion... https://bugs.webkit.org/show_bug.cgi?id=228978 d341f67de0033adcf1ec6373ace6a54b06c4a031 Cherry-pick ANGLE: Revise WebGL's shaderSource validation https://bugs.webkit.org/show_bug.cgi?id=228951 1e2714d981e97de8234ba055570dfdf56e8b6944 3.5 MB system-wide footprint impact due to thread-locals... https://bugs.webkit.org/show_bug.cgi?id=228240 d32e5cca34081997d32504b0b56c18b9703ff3be Build Default Metal library offline https://bugs.webkit.org/show_bug.cgi?id=227333 33702279faccfd4c8d1c8a6d549925f9ca9a4e8f WebGL2 demo doesn't work due to failing compilation.... https://bugs.webkit.org/show_bug.cgi?id=226865 0a075885d242db38c4e435a6597173dc3b082173 rAF driven WebGL submits excessive amount of GPU work... https://bugs.webkit.org/show_bug.cgi?id=227059 f38a92b3e7c17efda269caa7066e7ffe2f828e72 WebGL shader link error in iOS 15 beta: "Internal error..." https://bugs.webkit.org/show_bug.cgi?id=227723 98d48f011d561531470d97f26a022767b5452fb7 REGRESSION (r279466): [Big Sur] webgl/1.0.3/conformance &... https://bugs.webkit.org/show_bug.cgi?id=227596 Bug: angleproject:6471 Change-Id: I07166d0dc4b5c3579d98353485b3245b81c7b882 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3194322 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Kyle Piddington <kpiddington@apple.com>
YuxinHu a44197b5 2021-09-30T17:21:21 Tests: Add Mini World Creata Trace Vulkan test failed on Pixel4XL due to a vulkan validation layer error VUID-vkDestroyBuffer-buffer-00922. As a temp work around, I add a condition in TracePerfTest.cpp to skip the vulkan test on Qualcomm GPU Test: angle_perftests --gtest_filter="*mini_world*" Bug: b/194508684 Bug: angleproject:6443 Change-Id: I382b9dfc9aafeed92b89223214d8a4aeb75425a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3195194 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Kyle Piddington d3764f08 2021-09-30T13:46:15 Fix dEQP.GLES3/functional_fragment_out_array* on Direct to Metal Fragment arrays with locations assigned were not being correctly transformed. Fix ModifyStruct to handle the changing location when locations are set Bug: angleproject:6477 Change-Id: Icbacd50e265abdbaff3be230b2ec201eaa868a14 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3198807 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mateusz Przybylski 076366cc 2021-10-01T23:42:04 Revert "VertexArray: Don't syncState on Buffer map/unmap." This reverts commit 3d429f597fde950e789ca3684abbabd540157773. Reason for revert: This change is causing crashes in ANGLE stack. Original change's description: > VertexArray: Don't syncState on Buffer map/unmap. > > Map/unmap calls are now treated like contents change events. Similar > to BufferSubData calls. > > Bug: angleproject:6371 > Change-Id: Ie0a4c521ffdedfa723d47eddd21c6f68dde044ac > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3187811 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Tim Van Patten <timvp@google.com> Bug: angleproject:6371 Change-Id: I57480a18f3c70a1bf2a539e3047402c71802655d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3200288 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott 98a6e0a4 2021-10-01T15:06:07 Suppress VUID-RuntimeSpirv-OpImage-06376 Bug: angleproject:6492 Change-Id: I5963506164ae70edf4f2e77401dc86794157f8f2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3200277 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Gregg Tavares fca9de6f 2021-09-29T14:59:06 Fix Metal backend not clearing stencil buffer If you had a depthstencil buffer the stencil portion was not being cleared. Bug: angleproject:6389 Change-Id: Iad3f12ae627bc12625d959f9a52fdb1dcb8c9bc3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3198800 Commit-Queue: Gregg Tavares <gman@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Ian Elliott 12e5a7db 2021-10-01T13:52:37 Suppress VUID-RuntimeSpirv-OpImage-06377 Bug: angleproject:6491 Change-Id: I0e9f8908077ea10685b7796b2c42086ae6520d05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3200275 Reviewed-by: Ian Elliott <ianelliott@google.com>
Shahbaz Youssefi 32d6e806 2021-09-24T23:50:54 Vulkan: Fix rotation of interpolateAtOffset interpolateAtOffset's offset was multiplied by flipXY*rotationMatrix, which is a vector. This was unable to actually apply rotation to the offset. The multiplier is changed to a matrix. Can be tested by running interpolate_at_offset*default_framebuffer tests in deqp gles3.1 together with pre-rotation: ./angle_deqp_gles31_tests --deqp-case=dEQP.GLES31/functional_shaders_multisample_interpolation_interpolate_at_offset_no_qualifiers_default_framebuffer --emulated-pre-rotation=90 Bug: angleproject:5843 Change-Id: I9727371375e999f07463b69153df3fd8b28c2a71 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3183108 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 043120ee 2021-09-29T15:56:46 Capture/Replay: Allow disabling program trimming. The ANGLE_CAPTURE_TRIM_ENABLED variable disables program trimming when set to 0. This is useful for trace validation, which expects the GL state vectors to be identical. Bug: angleproject:5133 Change-Id: I3ab41de80af7b223c4cb8a1b7e14f049717305fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3193417 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Kenneth Russell da3db87e 2021-07-06T14:00:58 Upstream latest changes to Metal backend from Apple to 7/1/2021 This CL merges in the ANGLE changes between these two WebKit commits: https://git.webkit.org/?p=WebKit.git;a=commit;h=8648b353ab1d7730438c2e08319e1a4d64982c31 https://git.webkit.org/?p=WebKit.git;a=commit;h=166e4924a52971d6a32ad48247a439b16c00e062 Include provoking vertex buffer out of bounds fix from https://bugs.webkit.org/show_bug.cgi?id=230107 Fix bad merge of resetting of dirty bits, breaking DepthStencilFormatsTest.DepthTextureRender test and perhaps others. Disable GL_APPLE_clip_distance when the direct-to-Metal compiler is active. It can not yet handle the gl_ClipDistance array. Disable use of rectangular textures for IOSurfaces. Metal can bind IOSurfaces to 2D textures, and this was passing all tests in the SPIR-V Metal backend. Introducing rectangular textures breaks the SPIR-V Metal backend, and the tests currently fail on the direct-to-Metal backend. Fix several bugs with ProvokingVertex, which was causing both the SpirV and Direct backends to incorrectly draw indices. (https://bugs.webkit.org/show_bug.cgi?id=230107) Skip the following tests on the Metal backend which is still failing RobustResourceInitTestES3.BlitDepthStencilAfterClearBuffer GLSLTest_ES3.GLVertexIDIntegerTextureDrawArrays/ES3_Metal With these changes, angle_end2end_tests again runs to completion. Bug: angleproject:6395 Change-Id: I3cc58f531426a95fc8f177a4ad87f56c1855a546 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3167010 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Jamie Madill 0b4508e5 2021-10-01T11:49:52 Add script to automatically download extension data. The script uses the 'bb' and 'swarming' tool to download build info and artifacts. See the script for more info. Bug: angleproject:6379 Change-Id: I65444771a69dc2f6eee39f6ba8d471fdd8ca2cff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3198737 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Shahbaz Youssefi 2a8be9de 2021-10-01T01:26:19 Vulkan: OES_shader_multisample_interpolation is now conformant This extension was not conformant due to an imprecision in the GL spec which is now rectified. See: https://gitlab.khronos.org/opengl/API/-/issues/149 The OpenGL CTS has been fixed here: https://gerrit.khronos.org/c/vk-gl-cts/+/7862 Bug: angleproject:6190 Change-Id: I0c37332939f70291a5f76ca36fa9f24b179ce414 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3197513 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi a097ee2e 2021-09-27T15:18:02 Vulkan: Fix clearing external images with emulated format External images may already have data, and clearing them due to their format being emulated is incorrect. This change makes sure that only the emulated channels are cleared. The RGBXDataPreservedAHB test is based on one contributed by Jason Macnak <natsu@google.com>. Bug: b/192315789 Change-Id: Ibc8953fdac356f2a62a5b46512a51e1916b4a1b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3193416 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
angle-autoroll 3de06bcd 2021-09-30T21:46:13 Roll vulkan-deps from 788a2f62acbe to 11c6360dd46f (144 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/788a2f62acbe..11c6360dd46f Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/e0771b5d4c..581897f462 * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/c2500e504d..97a438d214 * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/6cae8216a6..ae217c1780 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/7e860e3831..ba4b390c36 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/9e62d02763..e500c7c809 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/20cf221e72..edccdb3444 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/642da192c8..a956d1a0e5 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/1e6ed74d5d..6d54fa0fe0 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC ianelliott@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry 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/+doc/main/autoroll/README.md Bug: angleproject:6478 Change-Id: I28a46296e5b3590601a61707f438d8b238be3ff6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3198645 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Jamie Madill 35708f98 2021-09-30T11:54:34 Merge extension support docs. We previously had an existing document in doc/ExtensionSupport.md. This merges the new SupportedExtensions.md into the old location and includes a bit more info on EGL extension support. Bug: angleproject:6379 Change-Id: Ibb60a9e9db9200abe609383531131903ca698e60 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3197770 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 4cb34637 2021-09-29T16:40:11 Vulkan: Fix crash in async queue The change also fixes a regression introduced by 2d79918fdb0276cdb57488d72abd803250f962a3 which caused a segfault when async queue is used. Unfortunately, due to anglebug.com/6437, async queue tests are not run on the bots at the moment. This will be fixed in a follow up change. Bug: angleproject:6436 Change-Id: I3c2f63549149fbd9c9ab61107e98e8015cdb1c77 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3193419 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 0004ecc2 2021-09-22T13:39:55 Write GL info to test artifact in end2end_tests. These will show up as glinfo.json in the "cas outputs" of the shard that runs these tests. We currently have information for Pixel 4, NVIDIA and Intel Win/Linux, and SwiftShader Windows. GLES 1.x extensions are treated separately. Some WebGL/Mac-only/D3D-only extensions show as unsupported anywhere. In order to capture artifacts on Android, we use a render test output parameter. Bug: angleproject:6379 Change-Id: I560b219b5a586cdbb68d272090f38eedc76aba20 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3176780 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 3d429f59 2021-09-27T14:27:31 VertexArray: Don't syncState on Buffer map/unmap. Map/unmap calls are now treated like contents change events. Similar to BufferSubData calls. Bug: angleproject:6371 Change-Id: Ie0a4c521ffdedfa723d47eddd21c6f68dde044ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3187811 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill cf8c5678 2021-09-17T13:16:36 Vulkan: Don't sync VAOs after BufferSubData calls. We still need to syncState after buffers that contain converted attributes are updated. Includes a perf regression test. Bug: angleproject:6371 Change-Id: I54227fc43e7b3fe79072da7783dab0177ccb0486 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3182706 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill b930b9d3 2021-09-08T09:08:28 Capture/Replay: Remove redundant "capture" from label old: trex_200_capture_context1_frame001.cpp new: trex_200_context1_frame001.cpp The 'capture' word wasn't really adding any useful information. Take it out so the filenames are a bit shorter. Bug: angleproject:5133 Change-Id: Ibd7d47df2aa1f24a641c5d5b2a6dd14d6ce240e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149370 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi a78310ee 2021-09-29T12:37:42 Clean up ImageTest.cpp Removed manual gen/delete calls and replaced GLuints with RAII types. Bug: b/192315789 Change-Id: Ic2e7f3fcc3cefe83917d3b8dcc4ec2979c732b21 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3193415 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Aditya Kushwah 5e029401 2021-09-28T15:49:20 Add a new variant to the labeling API. This CL will create a new variant which will take both internal name and KHR debug name and send them over to the D3D. This will help us capture KHR debug label better and also prevent for the cases where ANGLE was dropping the KHR labels on the floor when calling the label API right after the commands like glTexStorage2D, glTexImage2D etc. Bug: chromium:1164111 Change-Id: Ifebe8df5435a34692c601c5c35fddc1911bf9d0c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3192180 Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Gregg Tavares 85de22fd 2021-09-29T13:27:42 Set the viewport missing from a few tests A few places seem like they should be setting the viewport. Bascially any place that creates a framebuffer that's different size than the backbuffer (defined as kWidth, kHeight) should probably be setting the viewport. Bug: angleproject:6394 Change-Id: Iee64f6700e3f93c236ab46d3d5debd47c49d2fa0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3195054 Commit-Queue: Gregg Tavares <gman@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexis Hetu 4647e4c5 2021-09-27T17:03:05 SwANGLE copy to IOSurface This CL performs a buffer to image copy on bindTexImage and an image to buffer copy on a releaseTexImage on MacOS in order to copy from/to an IOSurface which has an arbitrary internal layout. It also changes the internal format used by GL_BGRX8_ANGLEX to GL_RGBX8_ANGLEX in order to have an internal format which accurately represents the {GL_RGB, GL_UNSIGNED_BYTE} format with the color channels in the correct order. Bug: chromium:1209250 Bug: angleproject:4369 Change-Id: I62b66c7055f8ba8a4c943abeb2e35a3825efc392 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169472 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Brandon Schade 84bf49a5 2021-09-27T15:20:22 Vulkan: Fixed an issue with primitives generated query The primitives generated query does not work with rasterizer discard, as such rasterizer discard is disabled with the beginQuery call and re-enabled with the endQuery call. The issue is that previously rasterizer discard was not being disabled until ContextVk::resumeRenderPassQueriesIfActive in some cases. This led to cases where primitives generated query did not work. The fix is to insure all beginQuery calls disable rasterizer discard when primitives generated query is active. Added the following end2end test to cover the failure: TransformFeedbackTestES32.MultiPrimitivesGeneratedVsRasterizerDiscard Bug: angleproject:5557 Tests: KHR-GLES32.core.tessellation_shader.tessellation_invariance.invariance_rule* Change-Id: I7e1a0a0bc4a3100349c2c5dbdbe6becd1e0dda29 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3193100 Commit-Queue: Brandon Schade <b.schade@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 30878d2a 2021-09-24T09:23:56 Buffer: Notify contents changed in a separate observer list. Buffer contents changed will only notify VertexArray. Also this list is separated from the other observers because in the future most of the time we won't need to notify the VertexArrays when buffer contents changed, to avoid iterating over a large list of VertexArray observers on simple SubData calls. Bug: angleproject:6371 Change-Id: I6142a5757868caf33dc6594a1975f817f80553e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3182701 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Gregg Tavares 696f8533 2021-09-28T15:21:51 fix GLSLTest_ES3.GLVertexIDIntegerTextureDrawArrays The test was using a gl_PointSize of 1000.0 but GL_POINTS are only required to support a max size of 1.0 Bug: angleproject:6463 Change-Id: I8a44607085583cbc7cef06f21b118121cc1fef24 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3192177 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Cody Northrop 5db7885f 2021-09-28T17:16:40 FrameCapture: Fix GLES1 VertexArrayState Broke recently when adding support for ES3.1 semantics. GLES1 traces are hitting the loop below, generating BindVertexBuffer. Test: Zillow MEC (GLES 1) Bug: b/199919700 Change-Id: Ibe83d1b4009b00f891903cae889449d42e9f510b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3192990 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>