- 01 May, 2019 9 commits
-
-
Ben Clayton authored
Tests: dEQP-VK.spirv_assembly.instruction.compute.memory_access.* Change-Id: I5281798468651c67ec038bdd8688f99c67654cb1 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30215Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Fixes cases where functions were not being inlined. Tests: dEQP-VK.glsl.functions.control_flow.* Change-Id: Ia752517040f7529ec3b47adc75ec03646d183f6d Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30214Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Non-constant initializers not yet implemented. Tests: dEQP-VK.spirv_assembly.instruction.graphics.variable_init.* Tests: dEQP-VK.spirv_assembly.instruction.compute.variable_init.* Tests: dEQP-VK.spirv_assembly.instruction.compute.opunreachable.* Tests: dEQP-VK.spirv_assembly.instruction.compute.shader_default_output.int.initialized Bug: b/131681817 Change-Id: I8b283042d3be15028c2efe10988d6847c6256811 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30213Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Presubmit-Ready: Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
SwiftShader Regression Bot authored
Change-Id: I7c24723b48298881ea3b89a92c37e67ffa7cbedd Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30308Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Nicolas Capens authored
Re-generated using build/cmake.sh after the LLVM source file set minimization. Manually removed and re-added the LLVM project from build\Visual Studio 15 2017 Win64\llvm.vcxproj and as a Reactor dependency (since CMake produces new GUIDs to identify the projects every time). This required adding back lib/Support/APSInt.cpp Bug: b/129772660 Change-Id: I0fd51b02e25f1e698d2d9d468870ae69e2651183 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30150Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
Nicolas Capens authored
Bug: b/129772660 Change-Id: I7c318b9245a682f5aa064f6e3c66d81b141c62b9 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30149Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
This is the result of running build/strip_cmakelists.sh with each LLVM source file in CMakeLists.txt marked with a CHECK_NEEDED comment. Bug: b/129772660 Change-Id: Ie0de926112e8674a16769b75bad0b17de961650e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28368Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
Ben Clayton authored
The CHECK_NEEDED comments will be used by the build/strip_cmakelists.sh script to see if the build still succeeds with each of these files removed individually. Bug: b/129772660 Change-Id: I54afbf06f40f413caad6a619191c56b27162eb26 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30148Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Ben Clayton authored
Running build/strip_cmakelists.sh will attempt to build the CMake project files with each line that contains a comment iteratively removed. This allows to minimize the number of required source files. In particular LLVM is considerably larger than necessary and will be minimized in the following change. Bug: b/129772660 Change-Id: I5c062a2643b79ba444b82737f23bc0c104044f07 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28254Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com>
-
- 30 Apr, 2019 13 commits
-
-
Chris Forbes authored
Change-Id: I966632cdd1cfd7077d0595d8987d15351e43b6a6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30248Tested-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
Fixes interaction with ImageInstruction rework in previous patch Bug: b/129523279 Test: dEQP-VK.image.* Change-Id: I3c0ff7d4497f95f67dc9fc08ad8793f81f7c5f2c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30228Tested-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>
-
Nicolas Capens authored
Also add stubs for Dref variants. Bug: b/129523279 Test: dEQP-VK.glsl.texture_functions.* Test: dEQP-VK.spirv_assembly.instruction.graphics.image_sampler.* Change-Id: I810c8e32758c9124f7649c62d51b34751ee9bfae Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30193 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
Bug: b/129523279 Test: dEQP-VK.image.* Test: dEQP-VK.texture* Change-Id: I70a5d6b53d4df09757b092d239b8c7b31bfcecd7 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30068Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
- All of these objects are single pointers - When consuming the result of OpSampledImage, look through to find the pointer to the sampler descriptor Remove the SampledImage kind as it's no longer necessary. Test: dEQP-VK.image.* Test: dEQP-VK.pipeline.* Test: dEQP-VK.binding_model.* Change-Id: I94f4cd8a3e5175c08f263fb464e61e5ba1043833 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29989Tested-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>
-
Nicolas Capens authored
Bug: b/129523279 Test: dEQP-VK.glsl.texture_functions.textureoffset.sampler2d_fixed_fragment Change-Id: Ifc91f69e9eec8bde6b1e0cfaaed4d39dec672d06 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30192 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Ben Clayton authored
There were lots of dodgy casts, wrong specifiers, or missing specifiers. Could easily cause undefined behavior. Bug: b/127433389 Change-Id: I2859993509b897d4a7c649f87ab74d440be4590c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29930 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
Try and catch memory corruption in our unit tests. Change-Id: I5712c443de002ca563ba474cb77451d2791e7ec0 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30169Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
SwiftShader Regression Bot authored
Change-Id: I7e81742d8c131e9178674b21e79cca89c1c9a3ed Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30129Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Nicolas Capens authored
Make it straightforward to support other dimensionalities. Bug: b/129523279 Change-Id: I29f7a55da26d98141ebea74678776c7d4f16c7c6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30152 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
OpImageSampleExplicitLod can either have a Lod or Grad operand. Bug: b/129523279 Test: dEQP-VK.glsl.texture_functions.texturegrad.sampler2d_fixed_fragment Change-Id: I0c4a885cc6833614572ed7a061b53c9f41838f0b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30032 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Nicolas Capens authored
The SPIR-V 1.3 spec states that the Coordinate operand of OpImageSample* instructions "may be a vector larger than needed, but all unused components will appear after all used components." The function for generating the sampling routine previously determined the number of coordinates from the image view descriptor, which may not match what's passed in at the SPIR-V sample instruction call site. This change passes a 32-bit run-time constant to the trampoline, which can contain the number of coordinates as well as the instruction type. Hence we can eliminate the need for multiple static functions to encode the latter. Bug: b/129523279 Change-Id: I625b7396be3da770024a858d11e49b63ac457bed Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30151 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
- Use a custom descriptor structure for everything, so we have control over alignment - Fix descriptor pool size to include the proper number of headers - Remove a level of indirection in buffer descriptor handling - Correctly handle VK_WHOLE_SIZE for buffer bound ranges - Handle robustness + dynamic offset interaction where the dynamic offset places the bound range partially outside the buffer. - Sanity checks from Ben's original 'seatbelts' patch Bug: b/123244275 Test: dEQP-VK.binding_model.* Change-Id: I18cc40805aac7256a7d57a21af003f21f630b2e6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30168 Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
- 29 Apr, 2019 4 commits
-
-
Chris Forbes authored
This had previously been masked by other failures, so we didn't notice. Bitcasting Int to Float4 is incorrect. Test: dEQP-VK.subgroups.* Change-Id: Ib66fb3a458d44c6689977006454bbc7719a1373f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30089Tested-by:
Chris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Test: dEQP-VK.*2d_array* Change-Id: I106c9d072362c16e2cff14a70901c2ce89657329 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30069Tested-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>
-
SwiftShader Regression Bot authored
Change-Id: Ie287383b9895f87d861d4ad0391a7d95f1826431 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29939Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
Bug: b/129523279 Test: dEQP-VK.*border* Change-Id: I76f3583ca9d4288c34ac897e5bc382b4c417488e Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30111Tested-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 Apr, 2019 2 commits
-
-
SwiftShader Regression Bot authored
Change-Id: I4c9c3eb67bc7db2b8c70f19c73493cac81d13dc0 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29937Reviewed-by:
Chris Forbes <chrisforbes@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
- sRGB formats - BGRA and ARGB_PACK32 formats - 1 and 2 channel 16 bit formats 16bit float formats still don't work due to missing support elsewhere Test: dEQP-VK.renderpass.suballocation.formats.* Bug: b/131171141 Change-Id: I8f659a894c671552b4061890f299d65992fc085c Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30031Tested-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
- 26 Apr, 2019 12 commits
-
-
Chris Forbes authored
Bug: b/131171141 Test: dEQP-VK.renderpass* Change-Id: I22a443edeee705b24ccc3a838fbab5f333f5dd87 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29730Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
- R8_{UNORM,UINT,SINT} - R8G8_{UNORM,UINT,SINT} Test: dEQP-VK.renderpass.suballocation.formats.* Bug: b/131171141 Change-Id: Id05d5e825eaafe72cefbe7c6dd70f2fac144e7e5 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30048Tested-by:Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Nicolas Capens authored
This still uses the legacy approach with 6 pointers per mipmap level for each cube face. Will be refactored to use a single pointer to access faces as consecutive layers. Bug: b/129523279 Tests: dEQP-VK.texture.filtering.cube.formats.r8g8b8a8_unorm.* Change-Id: I1f59f121d2989e0ba79eb3441529b812a8d9111a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29969 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
-
Chris Forbes authored
D16_UNORM is the first format supported in this path with a texel size of less than 4 bytes. Adjust the loading to round up the size so we always emit at least one load. Test: dEQP-VK.renderpass* Bug: b/131171141 Change-Id: I985b85017ace84cb8b18c36989fea99ba8e0f44f Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29729 Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Chris Forbes <chrisforbes@google.com>
-
Chris Forbes authored
Previously we tried to avoid applying a shader which didn't do anything useful. Unfortunately we missed various edge cases. Just remove this logic completely. Bug: b/118386749 Test: dEQP-VK.renderpass* Change-Id: I48f2f9f08ad491381db22af9f6f3430f7b4d4db1 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29728Tested-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>
-
Alexis Hetu authored
When an image is created as a 3D image, but contains the VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT flag, it becomes equivalent to a 2D array with "depth" layers and should be treated as such when accessing a single slice of a 3D image. Bug b/119620767 Change-Id: Ibdc6985acdf5e5f30efcb7bf5adc2563bf64c4f7 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29189Tested-by:
Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com>
-
Ben Clayton authored
Plumb this into regres. Bug: b/131243109 Change-Id: Ie82cab71aca0e6b1648852dad8f4a0acd0856e70 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29928Tested-by:
Ben Clayton <bclayton@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Antonio Maiorano authored
More specifically, crash occurs when viewport.Y is negative, and scissoring isn't explicitly set by user. Problem was a combination of computing invalid scissor bounds, and after clamping to these bounds, proceeding to index buffers when yMin >= yMax. Fixed both computation of scissor bounds, and making sure to early out when yMin >= yMax to avoid OOB buffer indexing. Bug: chromium:904276 Change-Id: I14580d7c4f0d9888c19e037b47113624a247ede1 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29971Tested-by:
Antonio Maiorano <amaiorano@google.com> Presubmit-Ready: Antonio Maiorano <amaiorano@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
-
Ben Clayton authored
ENABLE_RR_DEBUG_INFO was not being passed to the ReactorLLVM target. This introduced a subtle calling mismatch as the RValue<T> copy constructor is conditionally added only when ENABLE_RR_DEBUG_INFO is defined. This would cause parameters to go out of sync for inlined functions (not entirely sure I understand the underlying cause here), leading to hilarity. This change also moves "-fno-exceptions" back to the global cpp_flags. This is a true global setting and should not have been moved to SWIFTSHADER_COMPILE_OPTIONS. Change-Id: Ib20777f1ee4b443358ada667902f9a6a1ac3513a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29932Tested-by:
Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
-
Ben Clayton authored
The cache keys were colliding, causing mayhem. Add 32-bit unique keys to ImageViews and Samplers, combine them into a unique 64 bit key. Bug: b/131246679 Change-Id: I74c86a80ee5fec1c97eda720bd0797bff4a1a7e0 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29934 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Chris Forbes <chrisforbes@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Tested-by:
Ben Clayton <bclayton@google.com>
-
Nicolas Capens authored
Some SampledImageDescriptor members are assumed to be 16-byte aligned, such as the sw::Mipmap::pitchP member accessed by sampleFloat2D(). To guarantee this while descriptor sets can contain multiple types of descriptor, all descriptors are made a multiple of 16 bytes in size. Also, each descriptor set starts with a pointer to its layout, followed by the actual descriptor content. To ensure the latter is 16-byte aligned, the layout pointer was placed in a header structure which itself is 16-byte aligned and thus includes the necessary padding. The placement of the descriptor set itself is guaranteed to be 16-byte aligned by vk::REQUIRED_MEMORY_ALIGNMENT = 16 being used for descriptor pool allocation. Bug: b/129523279 Bug: b/123244275 Change-Id: I72fb92d9ff5a8d100d05f5b9e38170ade557d434 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29970 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Ben Clayton <bclayton@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Brian Osman authored
Newer versions of clang are warning about all of these Change-Id: I73a54ab653a741f9b8a7fb5e11ccd7d83069b966 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/29972Reviewed-by:
Nicolas Capens <nicolascapens@google.com> Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:
Brian Osman <brianosman@google.com>
-