- 31 Mar, 2019 1 commit
-
-
Nicolas Capens authored
This reverts commit 20b950a2. Reason for revert: This is causing regressions in Chrome tests (https://chromium-review.googlesource.com/1546268) as well as google3 presubmit tests (cl/241036666). In both cases there's a timeout. Bug: b/124530765 Change-Id: I570c4df5db9557a1ba7e46b07ba425f63cfa6744 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28268Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 30 Mar, 2019 3 commits
-
-
Ben Clayton authored
C++ now provides this template magic so you don't have to. Also remove Arg(Function<Return(Arguments...)> &) function that wasn't referenced and wouldn't compile if it were. Bug: b/126126820 Bug: b/129403963 Change-Id: I939e4f7cb95c32b8e663df7da6211460c5de605f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/25749 Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <headlessclayton@gmail.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
My previous attempt to document this wasn't great. Reworked the text and diagram to better illustrate what's going on. Still using 'interleaved-by-lane' terminology for now. Bug: b/126330097 Change-Id: Ia6031f06f9eab0f1f05d80151d9a89de5525b5eb Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26529Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <headlessclayton@gmail.com>
-
SwiftShader Regression Bot authored
Change-Id: I22da31a6704e8556c9b3ac03e4b71542b2993ecd Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28250Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 29 Mar, 2019 9 commits
-
-
Ben Clayton authored
Emit loops in forward direction. While traversing backwards from the loop back-edge means you don't have to worry about flowing down the merge block, it can lead to blocks being generated in orders that can break the visit-once logic. Don't consider flows passing through the return block as a back edge. Strip unreachable blocks from ins - nothing should ever consider them. Tests: dEQP-VK.glsl.loops.* Bug: b/128527271 Change-Id: I497a06f5ce65d54b39294e4016b2df6d2c70487c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28188Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Given the following situation: ``` >->- alive >->->-> \ >-> alive / unreachable >-> ``` We would attempt to codegen the dead block (all blocks ensure their in's are processed first). However dEQP-VK.spirv_assembly.instruction.graphics.conditional_branch.same_labels_false_frag seems to have dead blocks that use values from blocks it couldn't possibly use (as it has no ins). While this is probably just a broken test, it is still good to harden up the compiler to pathological cases like this. Tests: dEQP-VK.spirv_assembly.instruction.compute.* Tests: dEQP-VK.spirv_assembly.instruction.graphics.* Bug: b/128527271 Change-Id: Ibaacf6a58cf7ab6e73771b58cfe67f0c394e53c6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27948Tested-by:Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Cody Schuffelen authored
This fixes one deadlock in Android's use of SwiftShader. Bug: b/124530765 Test: atest CtsGraphicsTestCases:android.graphics.cts.BitmapTest#testDrawingHardwareBitmapNotLeaking -- --abi x86 Signed-off-by:
Cody Schuffelen <schuffelen@google.com> Change-Id: I0a8a2674c94ae4fb8b3edb1a2b070b8b3568f8f2 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27408 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Names are difficult to match against values in SpirvShader. Change-Id: I313534c828b63bb73e8d72fa5475acfb93982bcd Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28190 Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
- Descriptor set pool allocation did not take the layout pointer into account. - Allocating descriptor sets from the pool was not tracking the first node. - The pointer to a second allocation node was offset from null instead of the pool base address. - Added assert that the descriptor update type matches the layout. - Refactoring to avoid duplicate casting of handles. Bug b/123244275 Tests: dEQP-VK.api.object_management.* Change-Id: Idf7aeb8d2597b30038ba1e9e371d99f09639f13c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28230 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
SwiftShader Regression Bot authored
Change-Id: Idc12be5aa3dc02ceec7eff3d148a730b9d5221f8 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28248Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Chris Forbes authored
Bug: b/126873455 Test: dEQP-VK.glsl.matrix.* Change-Id: I3070690017263b3bf766a329ef7729206f285e45 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28228Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Bug: b/118619338 Change-Id: Ia03cbc8908efcbb5264f9fbdc91f06eac964c396 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27908Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
This holds the project include paths and defines, used by the C++ intellisense engine. Change-Id: Ib87220cd49a38901167283316d4b549717516a0b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28068 Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 28 Mar, 2019 9 commits
-
-
Chris Forbes authored
Support for these features fell out of doing the indirect support properly. They are optional in the Vulkan spec because of certain hardware that can't source the base instance indirectly, or would require the multi draw to be unrolled in the command buffer. We have neither constraint. Bug: b/118619338 Test: dEQP-VK.draw.* Change-Id: I92291acc06a3abc5f25ea2a2eea18634b3035a01 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27889Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Chris Forbes authored
Bug: b/118619338 Test: dEQP-VK.draw.* Change-Id: I282c0f1e8f44b0bec2318ab901ec511413bff11d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27888Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
Bug: b/118619338 Test: dEQP-VK.*secondary_cmd_buf* Change-Id: I46e69e216ae4cc0a8e907692dfce270e11b690a2 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28129Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Chris Forbes authored
Bug: b/126873455 Test: dEQP-VK.glsl.matrix.mul.* Change-Id: Ifbc224ad72c27a0168578565a2b50eae8a1088f7 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28131Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Bug: b/126873455 Test: dEQP-VK.glsl.matrix.mul.* Change-Id: I818ea43d952f8d6d6a2a569a18936277a69b2fab Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28130Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
Bug b/119620767 Change-Id: I2d0513ab4947e6794fb5122e625641ed1a7c84cb Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28108Tested-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
Copying compressed images is just a matter of taking block size into account and using a block as a single unit of measure, instead of using a texel. Bug b/119620767 Tests: dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.* Change-Id: Ie77defc197ac7abb09a8555b384093fd50be681b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28048Tested-by:
Alexis Hétu <sugoi@google.com> Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
SwiftShader Regression Bot authored
Change-Id: I633d574918a18cf5d9e1a5945067553bf59d443e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28148Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Chris Forbes authored
For us this works identically to OpVectorTimesScalar. Bug: b/126873455 Test: dEQP-VK.glsl.matrix.mul.* Change-Id: Ied8df4af108249a2f0d888d238db497209d01049 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28128Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
- 27 Mar, 2019 4 commits
-
-
Alistair Strachan authored
The EGL spec does not specifically call out how to handle the case where 'value' passed to eglGetSyncAttribKHR is NULL, however many implementations will set the context error to EGL_BAD_PARAMETER and return without crashing. dEQP has a test which specifically checks for this behavior. Align SwiftShader's implementation with other EGL implementations. Bug: b/74572503 Test: dEQP-EQL GetSyncInvalidValueTest Change-Id: Ic893cd7073c12c463ded78042031df1bf85f6ce2 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28028Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alistair Strachan <astrachan@google.com>
-
Chris Forbes authored
* Implementations must ignore basePipelineIndex & basePipelineHandle if VK_PIPELINE_CREATE_DERIVATIVE_BIT is not specified. * We choose to ignore the pipeline derivative controls entirely. This is consistent with other implementations. * Also remove assert blocking pipeline construction for subpasses other than 0. This works fine. Test: dEQP-VK.pipeline.derivative.compute.* Change-Id: Ia03508b33397c60a3de5caf8536f7d75058738f6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27828 Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Nicolas Capens authored
This required disabling the popup dialog which waits for a debugger to be attached. This is achieved by setting an environment variable: SWIFTSHADER_DISABLE_DEBUGGER_WAIT_DIALOG=1 Bug b/123360006 Change-Id: Ic1269fdae3088b08a85322cbc7e33a3bdd8292cb Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27548 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Stephen White <senorblanco@chromium.org> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
SwiftShader Regression Bot authored
Change-Id: Ief5ca440d499e049a76564d09edcd924fa203aa9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27950Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
- 26 Mar, 2019 14 commits
-
-
Ben Clayton authored
Tests: dEQP-VK.spirv_assembly.instruction.compute.* Tests: dEQP-VK.spirv_assembly.instruction.graphics.* Bug: b/128527271 Change-Id: Ib556737c88dad1e51f3482b218cd7b0a9787b5be Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27776Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
Running 'python3 update.py windows' from 'third_party/llvm-7.0/scripts/' Bug chromium:944811 Change-Id: I4cd1a51b2c50f775d3131d5c66b1d33350b8004b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27870Reviewed-by:
Alexis Hétu <sugoi@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
Running 'python3 update.py linux' from 'third_party/llvm-7.0/scripts/' Also includes common config changes for LLVM 7.0.1 release. Bug chromium:944811 Change-Id: I22dadbe6024a0e46707361abc92630381de12ad6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27871Tested-by:
Nicolas Capens <nicolascapens@google.com> Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
Windows doesn't support 'make', but CMake can build the generated files using 'cmake --build'. Also set host=x64 to ensure the 64-bit toolchain gets used, to avoid LLVM linking issues. Also define __i386__ and __x86_64__ macros. Bug b/115344057 Change-Id: Idc3f78560b50e67b81a2e7a2490e0e5f23e6cc9d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27809Tested-by:
Nicolas Capens <nicolascapens@google.com> Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
Bug chromium:944811 Change-Id: Ic44bfa123b5c64e3cd38022645a9e37ae5a29168 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27810Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Nico Weber <thakis@chromium.org> Reviewed-by:
Alexis Hétu <sugoi@google.com> Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Tests: dEQP-VK.spirv_assembly.instruction.compute.* Tests: dEQP-VK.spirv_assembly.instruction.graphics.* Bug: b/128527271 Change-Id: I7ba31ca504a582a4d36d25ef2747fb1c1607bade Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27775 Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
... OpUnreachable and OpReturn. Tests: dEQP-VK.spirv_assembly.instruction.compute.* Tests: dEQP-VK.spirv_assembly.instruction.graphics.* Bug: b/128527271 Change-Id: Iec9af723c72c873df8cbdea7c0027e2f7fa25e70 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27774 Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Alexis Hetu authored
According to the Vulkan spec: "If pResolveAttachments is not NULL, each of its elements corresponds to a color attachment (the element in pColorAttachments at the same index), and a multisample resolve operation is defined for each attachment. At the end of each subpass, multisample resolve operations read the subpass’s color attachments, and resolve the samples for each pixel to the same pixel location in the corresponding resolve attachments, unless the resolve attachment index is VK_ATTACHMENT_UNUSED." Note: This cl adds support for multisampling, but requires syncing before performing the resolve operation. The intent is for the next cl to move the resolve to Renderer::finishRendering(), in order to avoid having to sync when it's not necessary. Bug b/119620965 Change-Id: Id4fae41347e354b822d089fb5b6d4e36592c146b Tests: dEQP-VK.pipeline.multisample.raster_samples.* Tests: dEQP-VK.pipeline.multisample.raster_samples_consistency.* Tests: dEQP-VK.pipeline.multisample.sample_mask.* Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27650Tested-by:Alexis Hétu <sugoi@google.com> Presubmit-Ready: Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Alexis Hetu authored
memset was erroneously being used to copy 4 bytes at a time, but the integer input value in memset is used as an 8 bit value, so the fill was failing if the 4 bytes were not identical. Tests: dEQP-VK.api.fill_and_update_buffer.* Tests: dEQP-VK.memory.pipeline_barrier.host_read_transfer_dst.* Bug b/118383648 Change-Id: I29cb5915ebd3773b4afbd89850c47a042fff6952 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27872Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
As we implement more complex control flow, we need to emit blocks with different active lane masks, and have finer control over block generation. Bug: b/128527271 Change-Id: Ica51bbea196b87ab442b394f0915e9a2cd375ac0 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27770 Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
This lets us use Intermediate for building intermediates in loops without the need of an alloca. Bug: b/128527271 Change-Id: Id36db83d0b1cedd7700bbf2431eed9b4a03a7997 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27769 Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Bug: b/128527271 Change-Id: Ib66c32ba66bcb322be6fa72f01f6c8b1b4b90f0a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27768 Presubmit-Ready: Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
SwiftShader Regression Bot authored
Change-Id: If4da733b58f118698a84552ee3c9445203837767 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27786Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Chris Forbes authored
Bug: b/129149966 Test: dEQP-VK.*instance* Change-Id: I51642d32a8390495f5d9ecd0bb64bca1db33a03d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26689 Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-