aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
Commit message (Collapse)AuthorAge
...
* Add "lazy" texture proxiesGravatar Chris Dalton2017-11-30
| | | | | | | | | | | Adds ultra-deferred proxies that are instantiated by a user-supplied callback during flush. Bug: skia:7190 Change-Id: I75a7ac6dba953c3b0a99febc203a7f4d2f3789fc Reviewed-on: https://skia-review.googlesource.com/76461 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Use a dst size threshold for multitexturing images.Gravatar Brian Salomon2017-11-30
| | | | | | | | | TODO: Set thresholds based on GPU in use. Change-Id: I0aeac596d11ab63922f2df0d76c668b4f8be5353 Reviewed-on: https://skia-review.googlesource.com/77900 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Update Skia milestone to 65Gravatar Heather Miller2017-11-30
| | | | | | | | | | | NOTRY=TRUE TBR=reed Bug: skia: Change-Id: I3dfe04202f48068bd04e7d64fa38913906af02ce Reviewed-on: https://skia-review.googlesource.com/78201 Reviewed-by: Heather Miller <hcm@google.com> Commit-Queue: Heather Miller <hcm@google.com>
* Add a GrContextThreadSafeProxy to SkSurfaceCharacterizationGravatar Robert Phillips2017-11-30
| | | | | | | | | Ganesh will require access to the GrCaps to make rendering decisions. Change-Id: I6dee42a3f0dc638f052706b8d1ea6e02b589e062 Reviewed-on: https://skia-review.googlesource.com/77681 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* devirtualize SkCanvas getClipBounds methodsGravatar Mike Klein2017-11-29
| | | | | | | | | | | | | | We no longer have any subclasses overriding the virtual hooks, and we've seen subtle bugs come up back when they did. In all modes, SkCanvas can answer these queries itself. BUG=chromium:781238 Change-Id: I37c7511c7bd00c638faacbe4bee89f785691453f Reviewed-on: https://skia-review.googlesource.com/77202 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Make sure to visit clips and dst proxies during gather"Gravatar Chris Dalton2017-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c666502bc6975a73ef352d673b151017a21e8562. Reason for revert: <INSERT REASONING HERE> Original change's description: > Make sure to visit clips and dst proxies during gather > > Bug: skia:7190 > Change-Id: I6ba5bad6e155e9092dff9c2ad3241f603c333b4d > Reviewed-on: https://skia-review.googlesource.com/76460 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Chris Dalton <csmartdalton@google.com> TBR=robertphillips@google.com,csmartdalton@google.com Change-Id: I4839594bb97472f5ac2057600a0889c8a9dff5f9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7190 Reviewed-on: https://skia-review.googlesource.com/77781 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Ignore deserialized path convexity and first direction.Gravatar Brian Salomon2017-11-29
| | | | | | | Change-Id: Ib7bfff6225774b83d9b6e9c5baae254aab17353b Reviewed-on: https://skia-review.googlesource.com/77680 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Make sure to visit clips and dst proxies during gatherGravatar Chris Dalton2017-11-29
| | | | | | | | Bug: skia:7190 Change-Id: I6ba5bad6e155e9092dff9c2ad3241f603c333b4d Reviewed-on: https://skia-review.googlesource.com/76460 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Delete even more unused views codeGravatar Brian Osman2017-11-29
| | | | | | | | Bug: skia: Change-Id: I41480aa89dfcd8cb7e016e477cbabe354f35ce8a Reviewed-on: https://skia-review.googlesource.com/75480 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Update SkTLazy for move only types.Gravatar Ben Wagner2017-11-28
| | | | | | | Change-Id: Id812d4f6ac47ae41e5a938310aa8f30eaf33a42d Reviewed-on: https://skia-review.googlesource.com/76901 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Ben Wagner <bungeman@google.com>
* remove writeBitmap from SkWriteBuffer -- unusedGravatar Mike Reed2017-11-28
| | | | | | | | Bug: skia: Change-Id: I8809e7e138d64cc30389e8efc76265011b287611 Reviewed-on: https://skia-review.googlesource.com/77060 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Cleanup yes/no enums in GaneshGravatar Chris Dalton2017-11-27
| | | | | | | | | | | | Yes/no enums should have a base type of bool, and kYes should always be true. Also, there is no need for a "GrEnumToBool()" function, as we can just use the enum itself directly: e.g. "GrAA(bool)". Bug: skia: Change-Id: I7bb3c2983f717f3467fca4ce6b32920d71026894 Reviewed-on: https://skia-review.googlesource.com/74860 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* saturate when converting float to fixedGravatar Mike Reed2017-11-27
| | | | | | | | Bug:783205 Change-Id: I30997e413f03f6ce2f8a8998efd78e350bdb43e3 Reviewed-on: https://skia-review.googlesource.com/75982 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove a huge pile of views codeGravatar Brian Osman2017-11-22
| | | | | | | | | | | | | All of this is dead when not using the old SkWindow framework. TBR=reed@google.com Bug: skia: Change-Id: I0f6ab18987a98469bfd367d5bc10967300dfd3ca Reviewed-on: https://skia-review.googlesource.com/75384 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Use SkSafeMath for text blob storage calculationsGravatar Florin Malita2017-11-22
| | | | | | | Change-Id: I028895dee81d99b1fa2a9acfa3db3f4bcb0f8f64 Reviewed-on: https://skia-review.googlesource.com/73823 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Enable tonal color for shadows by default.Gravatar Jim Van Verth2017-11-20
| | | | | | | | | | This change swaps the sense of the tonal color shadow flag, so tonal color will always be on unless explicitly disabled. Change-Id: I56ce4228022cf59b570cd7461327628cf7fe7173 Reviewed-on: https://skia-review.googlesource.com/73900 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Require glyph positions in SkAtlasTextTarget::drawTextGravatar Brian Salomon2017-11-20
| | | | | | | Change-Id: Idf0977befc8ed4fd9eb3b733db5e945457b2164c Reviewed-on: https://skia-review.googlesource.com/73701 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Make SkAtlasTextTarget use glyph IDsGravatar Brian Salomon2017-11-20
| | | | | | | | Bug: skia: Change-Id: Idefd69f02f62fea22c41a3476676773221c3ae81 Reviewed-on: https://skia-review.googlesource.com/73700 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Add Atlas Text interface for rendering SDF glyphs.""Gravatar Brian Salomon2017-11-19
| | | | | | | | | | This reverts commit 9c2202ffc22b4293b48a4edeafa1b5d2bab8bb83. Bug: skia: Change-Id: I482ddf74f8e40d3d0908c840ba5c6ff981ccefbd Reviewed-on: https://skia-review.googlesource.com/73345 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Revert "Revert "Revert "Revert "Add private grpixelconfigs ↵Gravatar Greg Daniel2017-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for alpha_8 and alpha_half"""""" This reverts commit b092cea5b17420926557d0e8b8d2df6db894725c. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "Revert "Revert "Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half""""" > > This reverts commit 68ab18611a03449915dfe2ffef96a849b72aa95c. > > Reason for revert: Command Buffer bot > > Original change's description: > > Revert "Revert "Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half"""" > > > > This reverts commit 3b2f5b60ff9a82ade01746d7e7cbbcc9348d6c03. > > > > Reason for revert: more attempts at a fixed version > > > > Original change's description: > > > Revert "Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half""" > > > > > > This reverts commit b5fb7cf0163ccb939f90ecf53ef70732c01f23ae. > > > > > > Reason for revert: breaking more devices > > > > > > Original change's description: > > > > Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half"" > > > > > > > > This reverts commit 0fb6db4be6e30777cc5c87f1b601e8c4aacff2b1. > > > > > > > > Reason for revert: fixed bug > > > > > > > > Original change's description: > > > > > Revert "Add private grpixelconfigs for alpha_8 and alpha_half" > > > > > > > > > > This reverts commit 33d17cbb003975fff895954435183756f9893c17. > > > > > > > > > > Reason for revert: broke intel bots > > > > > > > > > > Original change's description: > > > > > > Add private grpixelconfigs for alpha_8 and alpha_half > > > > > > > > > > > > Bug: skia: > > > > > > Change-Id: I5191b6e045aea2a5af2b305b5972ad1e638a7ace > > > > > > Reviewed-on: https://skia-review.googlesource.com/71763 > > > > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > > > > > > > TBR=egdaniel@google.com,bsalomon@google.com > > > > > > > > > > Change-Id: I6fff9241f7878f1ec7fad2663df9922c9cd8f628 > > > > > No-Presubmit: true > > > > > No-Tree-Checks: true > > > > > No-Try: true > > > > > Bug: skia: > > > > > Reviewed-on: https://skia-review.googlesource.com/72180 > > > > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > > > > > TBR=egdaniel@google.com,bsalomon@google.com > > > > > > > > Change-Id: Ie028961ecbf5934c53cb859e019e548935b3af79 > > > > Reviewed-on: https://skia-review.googlesource.com/72241 > > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > > > > > TBR=egdaniel@google.com,bsalomon@google.com > > > > > > Change-Id: Ieaac3eca2fc4919699c7de61a3c33348e92a7da0 > > > No-Presubmit: true > > > No-Tree-Checks: true > > > No-Try: true > > > Reviewed-on: https://skia-review.googlesource.com/72660 > > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > TBR=egdaniel@google.com,bsalomon@google.com > > > > Change-Id: Ifcf1b97c2a9493ce9a77a8aa0f4e5a8fb393def3 > > Reviewed-on: https://skia-review.googlesource.com/72802 > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com > > Change-Id: Ie2277f59f5a1294392b5d153ce2429c20b3e4182 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/73320 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> TBR=egdaniel@google.com,bsalomon@google.com,brianosman@google.com Change-Id: Ibba9d2109f35ea710e313d604b3e5ee742916234 Reviewed-on: https://skia-review.googlesource.com/73360 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Revert "Add Atlas Text interface for rendering SDF glyphs."Gravatar Greg Daniel2017-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 39631f3df172feb385527a5d125bc53b0bded7e6. Reason for revert: break google3 rool Original change's description: > Add Atlas Text interface for rendering SDF glyphs. > > This new API is built upon SDF text atlas code from the GPU backend. Unlike using the GPU > backend to draw text, this set of interfaces allows the client to render the SDF glyphs. The > client issues text draws to potentially multiple targets and then the client flushes. The > client then gets commands from Skia with data to put into a texture atlas and vertices to > draw that reference the texture. The client is responsible for creating the texture, uploading > the SDF data to the texture, and drawing the vertices provided by Skia. > > Change-Id: Ie9447e19b85f0ce1c2b942e5216c787a74f335d3 > Reviewed-on: https://skia-review.googlesource.com/59360 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: I4aad0c99e645b476fd8ba25731f2a10e8802bb25 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/73420 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Add Atlas Text interface for rendering SDF glyphs.Gravatar Brian Salomon2017-11-17
| | | | | | | | | | | | | | This new API is built upon SDF text atlas code from the GPU backend. Unlike using the GPU backend to draw text, this set of interfaces allows the client to render the SDF glyphs. The client issues text draws to potentially multiple targets and then the client flushes. The client then gets commands from Skia with data to put into a texture atlas and vertices to draw that reference the texture. The client is responsible for creating the texture, uploading the SDF data to the texture, and drawing the vertices provided by Skia. Change-Id: Ie9447e19b85f0ce1c2b942e5216c787a74f335d3 Reviewed-on: https://skia-review.googlesource.com/59360 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Revert "Revert "Revert "Revert "Add private grpixelconfigs for ↵Gravatar Brian Osman2017-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | alpha_8 and alpha_half""""" This reverts commit 68ab18611a03449915dfe2ffef96a849b72aa95c. Reason for revert: Command Buffer bot Original change's description: > Revert "Revert "Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half"""" > > This reverts commit 3b2f5b60ff9a82ade01746d7e7cbbcc9348d6c03. > > Reason for revert: more attempts at a fixed version > > Original change's description: > > Revert "Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half""" > > > > This reverts commit b5fb7cf0163ccb939f90ecf53ef70732c01f23ae. > > > > Reason for revert: breaking more devices > > > > Original change's description: > > > Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half"" > > > > > > This reverts commit 0fb6db4be6e30777cc5c87f1b601e8c4aacff2b1. > > > > > > Reason for revert: fixed bug > > > > > > Original change's description: > > > > Revert "Add private grpixelconfigs for alpha_8 and alpha_half" > > > > > > > > This reverts commit 33d17cbb003975fff895954435183756f9893c17. > > > > > > > > Reason for revert: broke intel bots > > > > > > > > Original change's description: > > > > > Add private grpixelconfigs for alpha_8 and alpha_half > > > > > > > > > > Bug: skia: > > > > > Change-Id: I5191b6e045aea2a5af2b305b5972ad1e638a7ace > > > > > Reviewed-on: https://skia-review.googlesource.com/71763 > > > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > > > > > TBR=egdaniel@google.com,bsalomon@google.com > > > > > > > > Change-Id: I6fff9241f7878f1ec7fad2663df9922c9cd8f628 > > > > No-Presubmit: true > > > > No-Tree-Checks: true > > > > No-Try: true > > > > Bug: skia: > > > > Reviewed-on: https://skia-review.googlesource.com/72180 > > > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > > > TBR=egdaniel@google.com,bsalomon@google.com > > > > > > Change-Id: Ie028961ecbf5934c53cb859e019e548935b3af79 > > > Reviewed-on: https://skia-review.googlesource.com/72241 > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > > > TBR=egdaniel@google.com,bsalomon@google.com > > > > Change-Id: Ieaac3eca2fc4919699c7de61a3c33348e92a7da0 > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Reviewed-on: https://skia-review.googlesource.com/72660 > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com > > Change-Id: Ifcf1b97c2a9493ce9a77a8aa0f4e5a8fb393def3 > Reviewed-on: https://skia-review.googlesource.com/72802 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Ie2277f59f5a1294392b5d153ce2429c20b3e4182 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/73320 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Revert "Revert "Revert "Add private grpixelconfigs for alpha_8 and ↵Gravatar Greg Daniel2017-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | alpha_half"""" This reverts commit 3b2f5b60ff9a82ade01746d7e7cbbcc9348d6c03. Reason for revert: more attempts at a fixed version Original change's description: > Revert "Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half""" > > This reverts commit b5fb7cf0163ccb939f90ecf53ef70732c01f23ae. > > Reason for revert: breaking more devices > > Original change's description: > > Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half"" > > > > This reverts commit 0fb6db4be6e30777cc5c87f1b601e8c4aacff2b1. > > > > Reason for revert: fixed bug > > > > Original change's description: > > > Revert "Add private grpixelconfigs for alpha_8 and alpha_half" > > > > > > This reverts commit 33d17cbb003975fff895954435183756f9893c17. > > > > > > Reason for revert: broke intel bots > > > > > > Original change's description: > > > > Add private grpixelconfigs for alpha_8 and alpha_half > > > > > > > > Bug: skia: > > > > Change-Id: I5191b6e045aea2a5af2b305b5972ad1e638a7ace > > > > Reviewed-on: https://skia-review.googlesource.com/71763 > > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > > > TBR=egdaniel@google.com,bsalomon@google.com > > > > > > Change-Id: I6fff9241f7878f1ec7fad2663df9922c9cd8f628 > > > No-Presubmit: true > > > No-Tree-Checks: true > > > No-Try: true > > > Bug: skia: > > > Reviewed-on: https://skia-review.googlesource.com/72180 > > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > TBR=egdaniel@google.com,bsalomon@google.com > > > > Change-Id: Ie028961ecbf5934c53cb859e019e548935b3af79 > > Reviewed-on: https://skia-review.googlesource.com/72241 > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com > > Change-Id: Ieaac3eca2fc4919699c7de61a3c33348e92a7da0 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/72660 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Ifcf1b97c2a9493ce9a77a8aa0f4e5a8fb393def3 Reviewed-on: https://skia-review.googlesource.com/72802 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Add backend GPU objects to fiddle appGravatar Robert Phillips2017-11-17
| | | | | | | | | TBR=bsalomon@google.com Change-Id: I8876a4657f837436322150925233e0f36c91e8f0 Reviewed-on: https://skia-review.googlesource.com/72641 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* Reland "Fold analytic clip FPs into GrReducedClip"Gravatar Chris Dalton2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of 4355b26b359d5f2597a10012e7eb11fb3a1f025b Original change's description: > Fold analytic clip FPs into GrReducedClip > > Perf result on Pixel phone (sorted by impact): > > GEOMEAN 7.44 -> 6.92 ms [ 93%] > > keymobi_cnn_com.skp 3.55 -> 3.59 ms [101%] > keymobi_theverge_com.skp 4.08 -> 4.13 ms [101%] > desk_skbug6850autoscroll.skp 1.21 -> 1.22 ms [101%] > ... > top25desk_weather_com.skp 14.2 -> 11.5 ms [ 81%] > keymobi_androidpolice_com_2012_.skp 3.84 -> 2.95 ms [ 77%] > keymobi_shop_mobileweb_ebay_com.skp 2.94 -> 2.26 ms [ 77%] > keymobi_boingboing_net.skp 3.08 -> 2.24 ms [ 73%] > desk_jsfiddlebigcar.skp 1.90 -> 1.25 ms [ 66%] > keymobi_m_youtube_com_watch_v_9.skp 13.5 -> 8.84 ms [ 65%] > keymobi_sfgate_com_.skp 8.55 -> 5.55 ms [ 65%] > keymobi_blogger.skp 4.01 -> 2.60 ms [ 65%] > > Cleaner code, improved skps, slightly better geometric mean time. > > Pixel C is mostly unaffected, presumably because it uses window > rectangles. > > Bug: skia:7190 > Change-Id: Ia93f68b2f971ea66b3ab19dc73557ea602932a92 > Reviewed-on: https://skia-review.googlesource.com/67424 > Commit-Queue: Chris Dalton <csmartdalton@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com Bug: skia:7190 Change-Id: I92f1ed21b6292feb3209fcbd1725487784d420da Reviewed-on: https://skia-review.googlesource.com/72562 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Reland "Fix precision caps and rrect/ellipse effect precisions"Gravatar Chris Dalton2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of e42180022720f2fcfd3c634cad855506a7940591 Original change's description: > Fix precision caps and rrect/ellipse effect precisions > > Replaces all the complex precision caps with a single flag that says > whether "float" == fp32. Updates the ellipse and rrect effects to > use float coords, and use the scale workaround when float != fp32. > > Bug: skia:7190 > Change-Id: Ieccff9f38acd05e5cec78fe90d01a5da901a9307 > Reviewed-on: https://skia-review.googlesource.com/70961 > Commit-Queue: Chris Dalton <csmartdalton@google.com> > Reviewed-by: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com Bug: skia:7190 Change-Id: I7ced37a64164b83d86f6a957c35e10ce9085aba0 Reviewed-on: https://skia-review.googlesource.com/72760 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Revert "Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half"""Gravatar Greg Daniel2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b5fb7cf0163ccb939f90ecf53ef70732c01f23ae. Reason for revert: breaking more devices Original change's description: > Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half"" > > This reverts commit 0fb6db4be6e30777cc5c87f1b601e8c4aacff2b1. > > Reason for revert: fixed bug > > Original change's description: > > Revert "Add private grpixelconfigs for alpha_8 and alpha_half" > > > > This reverts commit 33d17cbb003975fff895954435183756f9893c17. > > > > Reason for revert: broke intel bots > > > > Original change's description: > > > Add private grpixelconfigs for alpha_8 and alpha_half > > > > > > Bug: skia: > > > Change-Id: I5191b6e045aea2a5af2b305b5972ad1e638a7ace > > > Reviewed-on: https://skia-review.googlesource.com/71763 > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > TBR=egdaniel@google.com,bsalomon@google.com > > > > Change-Id: I6fff9241f7878f1ec7fad2663df9922c9cd8f628 > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: skia: > > Reviewed-on: https://skia-review.googlesource.com/72180 > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com > > Change-Id: Ie028961ecbf5934c53cb859e019e548935b3af79 > Reviewed-on: https://skia-review.googlesource.com/72241 > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Ieaac3eca2fc4919699c7de61a3c33348e92a7da0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/72660 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Revert "Add private grpixelconfigs for alpha_8 and alpha_half""Gravatar Greg Daniel2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0fb6db4be6e30777cc5c87f1b601e8c4aacff2b1. Reason for revert: fixed bug Original change's description: > Revert "Add private grpixelconfigs for alpha_8 and alpha_half" > > This reverts commit 33d17cbb003975fff895954435183756f9893c17. > > Reason for revert: broke intel bots > > Original change's description: > > Add private grpixelconfigs for alpha_8 and alpha_half > > > > Bug: skia: > > Change-Id: I5191b6e045aea2a5af2b305b5972ad1e638a7ace > > Reviewed-on: https://skia-review.googlesource.com/71763 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com > > Change-Id: I6fff9241f7878f1ec7fad2663df9922c9cd8f628 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/72180 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Ie028961ecbf5934c53cb859e019e548935b3af79 Reviewed-on: https://skia-review.googlesource.com/72241 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* remove legacy Create from SkTextBlobGravatar Mike Reed2017-11-16
| | | | | | | | Bug: skia: Change-Id: I8814ac9fb6bf75b5113bd78e140adadde57d3898 Reviewed-on: https://skia-review.googlesource.com/72121 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Fix precision caps and rrect/ellipse effect precisions"Gravatar Brian Osman2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e42180022720f2fcfd3c634cad855506a7940591. Reason for revert: Also may be responsible for layout test failures? Playing it safe. Original change's description: > Fix precision caps and rrect/ellipse effect precisions > > Replaces all the complex precision caps with a single flag that says > whether "float" == fp32. Updates the ellipse and rrect effects to > use float coords, and use the scale workaround when float != fp32. > > Bug: skia:7190 > Change-Id: Ieccff9f38acd05e5cec78fe90d01a5da901a9307 > Reviewed-on: https://skia-review.googlesource.com/70961 > Commit-Queue: Chris Dalton <csmartdalton@google.com> > Reviewed-by: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com,ethannicholas@google.com Change-Id: Idca2f0390e7a0eb85010255183f2f27332b8d26d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7190 Reviewed-on: https://skia-review.googlesource.com/72540 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Fold analytic clip FPs into GrReducedClip"Gravatar Brian Osman2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4355b26b359d5f2597a10012e7eb11fb3a1f025b. Reason for revert: Most likely CL for layout test failures on Chrome roll: https://bugs.chromium.org/p/chromium/issues/detail?id=785931 Original change's description: > Fold analytic clip FPs into GrReducedClip > > Perf result on Pixel phone (sorted by impact): > > GEOMEAN 7.44 -> 6.92 ms [ 93%] > > keymobi_cnn_com.skp 3.55 -> 3.59 ms [101%] > keymobi_theverge_com.skp 4.08 -> 4.13 ms [101%] > desk_skbug6850autoscroll.skp 1.21 -> 1.22 ms [101%] > ... > top25desk_weather_com.skp 14.2 -> 11.5 ms [ 81%] > keymobi_androidpolice_com_2012_.skp 3.84 -> 2.95 ms [ 77%] > keymobi_shop_mobileweb_ebay_com.skp 2.94 -> 2.26 ms [ 77%] > keymobi_boingboing_net.skp 3.08 -> 2.24 ms [ 73%] > desk_jsfiddlebigcar.skp 1.90 -> 1.25 ms [ 66%] > keymobi_m_youtube_com_watch_v_9.skp 13.5 -> 8.84 ms [ 65%] > keymobi_sfgate_com_.skp 8.55 -> 5.55 ms [ 65%] > keymobi_blogger.skp 4.01 -> 2.60 ms [ 65%] > > Cleaner code, improved skps, slightly better geometric mean time. > > Pixel C is mostly unaffected, presumably because it uses window > rectangles. > > Bug: skia:7190 > Change-Id: Ia93f68b2f971ea66b3ab19dc73557ea602932a92 > Reviewed-on: https://skia-review.googlesource.com/67424 > Commit-Queue: Chris Dalton <csmartdalton@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,robertphillips@google.com,csmartdalton@google.com Change-Id: I86ff05196eaaeca4fb63836c9b449bbea76fe80b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7190 Reviewed-on: https://skia-review.googlesource.com/72480 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Fold analytic clip FPs into GrReducedClipGravatar Chris Dalton2017-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Perf result on Pixel phone (sorted by impact): GEOMEAN 7.44 -> 6.92 ms [ 93%] keymobi_cnn_com.skp 3.55 -> 3.59 ms [101%] keymobi_theverge_com.skp 4.08 -> 4.13 ms [101%] desk_skbug6850autoscroll.skp 1.21 -> 1.22 ms [101%] ... top25desk_weather_com.skp 14.2 -> 11.5 ms [ 81%] keymobi_androidpolice_com_2012_.skp 3.84 -> 2.95 ms [ 77%] keymobi_shop_mobileweb_ebay_com.skp 2.94 -> 2.26 ms [ 77%] keymobi_boingboing_net.skp 3.08 -> 2.24 ms [ 73%] desk_jsfiddlebigcar.skp 1.90 -> 1.25 ms [ 66%] keymobi_m_youtube_com_watch_v_9.skp 13.5 -> 8.84 ms [ 65%] keymobi_sfgate_com_.skp 8.55 -> 5.55 ms [ 65%] keymobi_blogger.skp 4.01 -> 2.60 ms [ 65%] Cleaner code, improved skps, slightly better geometric mean time. Pixel C is mostly unaffected, presumably because it uses window rectangles. Bug: skia:7190 Change-Id: Ia93f68b2f971ea66b3ab19dc73557ea602932a92 Reviewed-on: https://skia-review.googlesource.com/67424 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Fix precision caps and rrect/ellipse effect precisionsGravatar Chris Dalton2017-11-16
| | | | | | | | | | | | | Replaces all the complex precision caps with a single flag that says whether "float" == fp32. Updates the ellipse and rrect effects to use float coords, and use the scale workaround when float != fp32. Bug: skia:7190 Change-Id: Ieccff9f38acd05e5cec78fe90d01a5da901a9307 Reviewed-on: https://skia-review.googlesource.com/70961 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Add private grpixelconfigs for alpha_8 and alpha_half"Gravatar Greg Daniel2017-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 33d17cbb003975fff895954435183756f9893c17. Reason for revert: broke intel bots Original change's description: > Add private grpixelconfigs for alpha_8 and alpha_half > > Bug: skia: > Change-Id: I5191b6e045aea2a5af2b305b5972ad1e638a7ace > Reviewed-on: https://skia-review.googlesource.com/71763 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: I6fff9241f7878f1ec7fad2663df9922c9cd8f628 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/72180 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Remove support for image load/storeGravatar Brian Salomon2017-11-15
| | | | | | | | | This isn't used and has become a maintenance burden. Change-Id: I5f3af8f91e5c4f073fe4ea30e0a7f1f61efeea47 Reviewed-on: https://skia-review.googlesource.com/70640 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add private grpixelconfigs for alpha_8 and alpha_halfGravatar Greg Daniel2017-11-15
| | | | | | | | Bug: skia: Change-Id: I5191b6e045aea2a5af2b305b5972ad1e638a7ace Reviewed-on: https://skia-review.googlesource.com/71763 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Move static helper functions for GrPixelConfig to private.Gravatar Greg Daniel2017-11-14
| | | | | | | | Bug: skia: Change-Id: I207cce77cbe46e0016afe932a06dba12e732c5da Reviewed-on: https://skia-review.googlesource.com/71281 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Alloc glyph image correctly for SkMask::k3D_Format."Gravatar Brian Osman2017-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1662257bdaaaf26b016bf2a3e329c34f7f5ed581. Reason for revert: Android still using this API Original change's description: > Alloc glyph image correctly for SkMask::k3D_Format. > > Remove the no longer used outside Skia SK_SUPPORT_LEGACY_EMBOSSMASKFILTER > define, and either delete the code it guards or update it to use the new > emboss mask filter factory. > > Re-enable the code to test the emboss mask filter. > > Add a test to ensure that embossed text is drawn correctly, as before > glyphs did not allocate the proper amount of memory for the k3D_Format > which the emboss mask filter produces. > > Fixes SkEmbossMask::Emboss to write the whole of the mul and add planes > to avoid pixel differences and MemorySanitizer errors. > > Update the GPU to understand the k3D_Format and use just the alpha > plane, ignoring the mul and add plane which it currently cannot support. > > Change-Id: Icac1a3f37d6e8c6be3151df570f5e14111e18585 > Reviewed-on: https://skia-review.googlesource.com/70260 > Reviewed-by: Herb Derby <herb@google.com> > Reviewed-on: https://skia-review.googlesource.com/70962 > Commit-Queue: Ben Wagner <bungeman@google.com> TBR=djsollen@google.com,bungeman@google.com,herb@google.com Change-Id: Id6625bae8d3bd70ce7aa3045348c04fdd146c637 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/71183 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Alloc glyph image correctly for SkMask::k3D_Format.Gravatar Ben Wagner2017-11-14
| | | | | | | | | | | | | | | | | | | | | | | | Remove the no longer used outside Skia SK_SUPPORT_LEGACY_EMBOSSMASKFILTER define, and either delete the code it guards or update it to use the new emboss mask filter factory. Re-enable the code to test the emboss mask filter. Add a test to ensure that embossed text is drawn correctly, as before glyphs did not allocate the proper amount of memory for the k3D_Format which the emboss mask filter produces. Fixes SkEmbossMask::Emboss to write the whole of the mul and add planes to avoid pixel differences and MemorySanitizer errors. Update the GPU to understand the k3D_Format and use just the alpha plane, ignoring the mul and add plane which it currently cannot support. Change-Id: Icac1a3f37d6e8c6be3151df570f5e14111e18585 Reviewed-on: https://skia-review.googlesource.com/70260 Reviewed-by: Herb Derby <herb@google.com> Reviewed-on: https://skia-review.googlesource.com/70962 Commit-Queue: Ben Wagner <bungeman@google.com>
* Revert "Alloc glyph image correctly for SkMask::k3D_Format."Gravatar Ben Wagner2017-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6b26deb8d6067589ce9b7853ab8e8d39de1a45de. Reason for revert: GPU bots failing Original change's description: > Alloc glyph image correctly for SkMask::k3D_Format. > > This removes the no longer used outside Skia > SK_SUPPORT_LEGACY_EMBOSSMASKFILTER define, and either deletes the code > it guards or updates it to use the new emboss mask filter factory. This > re-enables the code to test the emboss mask filter. Also added is a test > to ensure that embossed text is drawn correctly, as before this glyphs > did not allocate the proper amount of memory for the k3D_Format which > this mask filter produces. This also fixes SkEmbossMask::Emboss to write > the whole of the mul and add planes to avoid pixel differences and > MemorySanitizer errors. > > Change-Id: Ib492c72a19d6a27d140e3cd48179a3ca9ce313f5 > Reviewed-on: https://skia-review.googlesource.com/70260 > Commit-Queue: Ben Wagner <bungeman@google.com> > Reviewed-by: Herb Derby <herb@google.com> TBR=djsollen@google.com,bungeman@google.com,herb@google.com,reed@google.com Change-Id: I8a9db6c00e0cb84bdd4833474a9ffffa6ecc606c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/70920 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Move pixel config getter to private in GrBackendSurfaceGravatar Greg Daniel2017-11-13
| | | | | | | | | | | We eventually want to remove pixel config from GrBackendSurface so this helps to insure that clients don't rely on it. Bug: skia: Change-Id: I6b8435d12347fab62c0f9032addea1211aa703ca Reviewed-on: https://skia-review.googlesource.com/70642 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Alloc glyph image correctly for SkMask::k3D_Format.Gravatar Ben Wagner2017-11-13
| | | | | | | | | | | | | | | | | This removes the no longer used outside Skia SK_SUPPORT_LEGACY_EMBOSSMASKFILTER define, and either deletes the code it guards or updates it to use the new emboss mask filter factory. This re-enables the code to test the emboss mask filter. Also added is a test to ensure that embossed text is drawn correctly, as before this glyphs did not allocate the proper amount of memory for the k3D_Format which this mask filter produces. This also fixes SkEmbossMask::Emboss to write the whole of the mul and add planes to avoid pixel differences and MemorySanitizer errors. Change-Id: Ib492c72a19d6a27d140e3cd48179a3ca9ce313f5 Reviewed-on: https://skia-review.googlesource.com/70260 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Herb Derby <herb@google.com>
* sksl enum supportGravatar Ethan Nicholas2017-11-13
| | | | | | | | Bug: skia: Change-Id: I4d505b31cf8b59de12bcdbca410aafc085977ba9 Reviewed-on: https://skia-review.googlesource.com/68621 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Patch up ref counting of proxies"Gravatar Robert Phillips2017-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8d5ce2d9ede0c241b906f1a0df9dac3cf3c3aa55. Reason for revert: ASAN failures Original change's description: > Patch up ref counting of proxies > > Bug: skia: > Change-Id: If746283d788368bf7aad6d285f181d8531768e61 > Reviewed-on: https://skia-review.googlesource.com/70024 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: Ia2addb2a5dacad9e9c0080d1e53084bc62b780e0 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/70540 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Patch up ref counting of proxiesGravatar Robert Phillips2017-11-13
| | | | | | | | Bug: skia: Change-Id: If746283d788368bf7aad6d285f181d8531768e61 Reviewed-on: https://skia-review.googlesource.com/70024 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* remove legacy code for resolutionGravatar Mike Reed2017-11-10
| | | | | | | | Bug: skia: Change-Id: I6909325d4ee51140ec0edb47682de18617c23cc7 Reviewed-on: https://skia-review.googlesource.com/70100 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Use vulkan prototypes for android framework buildGravatar Greg Daniel2017-11-10
| | | | | | | | | | The framework still directly calls vulkan vkGetInstanceProcAddr (and device). Bug: skia: Change-Id: Ie20a4fc4f58d0f51f995605dc8464a4e26b76602 Reviewed-on: https://skia-review.googlesource.com/69923 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* switched GrClipEdge to an enum classGravatar Ethan Nicholas2017-11-10
| | | | | | | | Bug: skia: Change-Id: Idf41580314a32739c70721530fc3ca48e566b044 Reviewed-on: https://skia-review.googlesource.com/70023 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Set VK_NO_PROTOTYPES for vulkan backendGravatar Greg Daniel2017-11-10
| | | | | | | | Bug: skia: Change-Id: Id740efe6030b70271b0eb3a3bd6a111202f28fd8 Reviewed-on: https://skia-review.googlesource.com/69160 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>