aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
Commit message (Collapse)AuthorAge
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-04-04
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@14058 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add LCD support for distance field text.Gravatar commit-bot@chromium.org2014-04-03
| | | | | | | | | | | | | LCD support is handled by shifting the uv coordinate by 1/3 of a pixel (transformed by the inverse CTM) to the left and right of the original texture coordinate, and using left, center, and right lookups to set the RGB values. This supports both RGB and BGR subpixel order. BUG=skia:2173 R=robertphillips@google.com, egdaniel@google.com, bungeman@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/219243012 git-svn-id: http://skia.googlecode.com/svn/trunk@14049 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-04-03
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@14039 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add a GrLayerCache to GrContextGravatar robertphillips@google.com2014-04-03
| | | | | | | | https://codereview.chromium.org/217343006/ git-svn-id: http://skia.googlecode.com/svn/trunk@14038 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove dead code in gpu/.Gravatar commit-bot@chromium.org2014-04-02
| | | | | | | | | | | | | | These files are not referenced by any .gyp file in Skia or Chromium. ninja -C out/Debug everything still builds. BUG=skia: R=bsalomon@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/218553003 git-svn-id: http://skia.googlecode.com/svn/trunk@14034 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix early return when GrCoordTransform is identity.Gravatar bsalomon@google.com2014-04-02
| | | | | | | | | BUG=339721 R=egdaniel@google.com Review URL: https://codereview.chromium.org/222833002 git-svn-id: http://skia.googlecode.com/svn/trunk@14033 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add support for multiple base distance field sizes.Gravatar commit-bot@chromium.org2014-04-02
| | | | | | | | | | | | | This improves quality at higher point sizes. BUG=skia:2173 R=robertphillips@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/218613014 git-svn-id: http://skia.googlecode.com/svn/trunk@14030 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkTDynamicHash: pick up GetKey(), Hash() from T by default.Gravatar commit-bot@chromium.org2014-04-02
| | | | | | | | | | | | | | | | | | This also has a somewhat obscure technical benefit: it removes the requirement that GetKey() and Hash() must be functions with external linkage, which is required when passing a function pointer to a template. A future CL that's run into this problem and the obvious simplification are about 50/50 why I'm sending this CL. BUG=skia: DIFFBASE= https://codereview.chromium.org/222343002/ R=bsalomon@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/222473002 git-svn-id: http://skia.googlecode.com/svn/trunk@14028 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkTDynamicHash: remove need for Equals(const T&, const Key&) param.Gravatar commit-bot@chromium.org2014-04-02
| | | | | | | | | | | | | | All implementations are relying on bool operator==(const Key&, const Key&) anyway, which makes total sense, so just make that required. BUG=skia: R=bsalomon@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/222343002 git-svn-id: http://skia.googlecode.com/svn/trunk@14027 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use glInvalidateFramebuffer() when it is supported.Gravatar commit-bot@chromium.org2014-04-02
| | | | | | | | | | | BUG=skia:1541 R=egdaniel@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/218763006 git-svn-id: http://skia.googlecode.com/svn/trunk@14026 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add effect for ellipse clipping.Gravatar commit-bot@chromium.org2014-04-02
| | | | | | | | | | | BUG=skia:2181 R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/218583013 git-svn-id: http://skia.googlecode.com/svn/trunk@14024 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-04-02
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@14021 2bbb7eff-a529-9590-31e7-b0007b416f81
* Minor changes to GrFontCache system.Gravatar commit-bot@chromium.org2014-04-01
| | | | | | | | | | | | The main change is parameterizing the GrAtlasMgr so it can have a different sized backing texture and a different number of plots. This is in support of the saveLayer cache which has a smaller backing texture and only one plot. R=jvanverth@google.com, bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/217423014 git-svn-id: http://skia.googlecode.com/svn/trunk@14011 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GL_ARB_invalidate_subdata functions to GrGLInterface.Gravatar bsalomon@google.com2014-04-01
| | | | | | | | | BUG=skia:1541 R=egdaniel@google.com Review URL: https://codereview.chromium.org/217503003 git-svn-id: http://skia.googlecode.com/svn/trunk@14004 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-04-01
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@14002 2bbb7eff-a529-9590-31e7-b0007b416f81
* Change if/else to if in two GrGLInterface factories.Gravatar commit-bot@chromium.org2014-03-31
| | | | | | | | | | | R=robertphillips@google.com, rmistry@google.com TBR=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/216313006 git-svn-id: http://skia.googlecode.com/svn/trunk@13996 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "disable passing discards through GrIODB."Gravatar bsalomon@google.com2014-03-31
| | | | | | | | | | | | This reverts commit 3cdd1460991b723521be8b7c26e808e640402b7e. The original CL was landed only to do an experimental DEPS roll to Chromium. BUG=skia: Review URL: https://codereview.chromium.org/219023008 git-svn-id: http://skia.googlecode.com/svn/trunk@13995 2bbb7eff-a529-9590-31e7-b0007b416f81
* disable passing discards through GrIODB.Gravatar bsalomon@google.com2014-03-31
| | | | | | | | R=robertphillips@google.com Review URL: https://codereview.chromium.org/219563003 git-svn-id: http://skia.googlecode.com/svn/trunk@13994 2bbb7eff-a529-9590-31e7-b0007b416f81
* Actually identify required saveLayers in SkGpuDevice::EXPERIMENTAL_drawPictureGravatar commit-bot@chromium.org2014-03-31
| | | | | | | | | | | NOTRY=true R=bsalomon@google.com, rmistry@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/212933002 git-svn-id: http://skia.googlecode.com/svn/trunk@13993 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-03-29
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13989 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use int rather than size_t for pathCount in GrDrawTarget::drawPathsGravatar commit-bot@chromium.org2014-03-28
| | | | | | | | | | | R=reed@google.com TBR=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/216293006 git-svn-id: http://skia.googlecode.com/svn/trunk@13988 2bbb7eff-a529-9590-31e7-b0007b416f81
* SK_SUPPORT_LEGACY_GRTYPES to hide duplicate types from SkTypes.hGravatar commit-bot@chromium.org2014-03-28
| | | | | | | | | | | BUG=skia: R=bsalomon@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/216503004 git-svn-id: http://skia.googlecode.com/svn/trunk@13982 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add discard API to SkCanvas, plumb it to glDiscardFramebuffer()Gravatar commit-bot@chromium.org2014-03-28
| | | | | | | | | | | BUG=skia:2349 R=robertphillips@google.com, reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/211683002 git-svn-id: http://skia.googlecode.com/svn/trunk@13976 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add clip effect for circlesGravatar commit-bot@chromium.org2014-03-28
| | | | | | | | | | | BUG=skia:2181 R=jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/214153002 git-svn-id: http://skia.googlecode.com/svn/trunk@13974 2bbb7eff-a529-9590-31e7-b0007b416f81
* Increase GrGpuGL's program cache sizeGravatar commit-bot@chromium.org2014-03-28
| | | | | | | | | | | BUG=skia:2274 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/214823009 git-svn-id: http://skia.googlecode.com/svn/trunk@13973 2bbb7eff-a529-9590-31e7-b0007b416f81
* Please Valgrind by calling preConcat.Gravatar commit-bot@chromium.org2014-03-28
| | | | | | | | | | | | | | | | | | | Valgrind's whining about m.setConcat(m, I). That special cases into m = m, which compiles into memcpy(&m, &m, sizeof(m)), and then Valgrind decides that's not kosher because &m and &m overlap. (memmove would have been fine, but this is compiler generated code; not much we can do.) preConcat gets us the same thing with an early can-we-noop check for I, sidestepping the whole problem. BUG=skia: R=bsalomon@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/214823003 git-svn-id: http://skia.googlecode.com/svn/trunk@13972 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of Implement text rendering with NVPR ↵Gravatar commit-bot@chromium.org2014-03-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/196133014/) Reason for revert: This probably caused Win8 test bot fail during gm run: http://108.170.217.252:10117/builders/Test-Win8-ShuttleA-GTX660-x86-Debug/builds/574 I can not identify any errors from the logs, so maybe it hung or something? Original issue's description: > Implement text rendering with NVPR > > Use path rendering to render the text from outlines if supported by the > GPU. Implement this in GrStencilAndCoverTextContext by copying large > chunks of code from GrBitmapTextContext (drawText) and > GrDistanceFieldTextContext (drawPosText). > > The drawing is implemented with "instanced" path drawing > functions. > > Moves the creation of the "main" text context from SkGpuDevice to the > GrContext::createTextContext. This is done because the decision of which > text renderer is optimal can be made only with the internal > implementation-specific information of the context. > > Committed: http://code.google.com/p/skia/source/detail?r=13962 R=jvanverth@google.com, bsalomon@google.com, mtklein@google.com TBR=bsalomon@google.com, jvanverth@google.com, mtklein@google.com NOTREECHECKS=true NOTRY=true Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/213123014 git-svn-id: http://skia.googlecode.com/svn/trunk@13963 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement text rendering with NVPRGravatar commit-bot@chromium.org2014-03-27
| | | | | | | | | | | | | | | | | | | | | | | Use path rendering to render the text from outlines if supported by the GPU. Implement this in GrStencilAndCoverTextContext by copying large chunks of code from GrBitmapTextContext (drawText) and GrDistanceFieldTextContext (drawPosText). The drawing is implemented with "instanced" path drawing functions. Moves the creation of the "main" text context from SkGpuDevice to the GrContext::createTextContext. This is done because the decision of which text renderer is optimal can be made only with the internal implementation-specific information of the context. R=jvanverth@google.com, bsalomon@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/196133014 git-svn-id: http://skia.googlecode.com/svn/trunk@13962 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-03-27
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13961 2bbb7eff-a529-9590-31e7-b0007b416f81
* Distance field fixes for AndroidGravatar commit-bot@chromium.org2014-03-26
| | | | | | | | | | | | | | | | | | | | - Expand glyph size by 2 on each side to compensate for bilerp lookup - Correct for Adreno tendency to drop entire tile if any pixel has divide-by-0 - Fix blurriness on Adreno by using uv coords to compute gradient instead of st coords - Add faster version for uniform scale BUG=skia:2173 Committed: http://code.google.com/p/skia/source/detail?r=13955 R=bsalomon@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/205343008 git-svn-id: http://skia.googlecode.com/svn/trunk@13958 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of Distance field fixes for Android ↵Gravatar commit-bot@chromium.org2014-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/205343008/) Reason for revert: compile error at line 110 in GrDistanceFieldTextureEffect.cpp Original issue's description: > Distance field fixes for Android > - Expand glyph size by 2 on each side to compensate for bilerp lookup > - Correct for Adreno tendency to drop entire tile if any pixel has divide-by-0 > - Fix blurriness on Adreno by using uv coords to compute gradient instead > of st coords > - Add faster version for uniform scale > > BUG=skia:2173 > > Committed: http://code.google.com/p/skia/source/detail?r=13955 R=bsalomon@google.com TBR=bsalomon@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2173 Author: jvanverth@google.com Review URL: https://codereview.chromium.org/212953008 git-svn-id: http://skia.googlecode.com/svn/trunk@13956 2bbb7eff-a529-9590-31e7-b0007b416f81
* Distance field fixes for AndroidGravatar commit-bot@chromium.org2014-03-26
| | | | | | | | | | | | | | | | | - Expand glyph size by 2 on each side to compensate for bilerp lookup - Correct for Adreno tendency to drop entire tile if any pixel has divide-by-0 - Fix blurriness on Adreno by using uv coords to compute gradient instead of st coords - Add faster version for uniform scale BUG=skia:2173 R=bsalomon@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/205343008 git-svn-id: http://skia.googlecode.com/svn/trunk@13955 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove all references to legacy Config8888Gravatar reed@google.com2014-03-26
| | | | | | | | | BUG=skia: R=bsalomon@google.com Review URL: https://codereview.chromium.org/211043002 git-svn-id: http://skia.googlecode.com/svn/trunk@13952 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove forceRenderTargetFlush (unused)Gravatar commit-bot@chromium.org2014-03-25
| | | | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/210253004 git-svn-id: http://skia.googlecode.com/svn/trunk@13948 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix bug on android with GL_EXT_debug_markerGravatar commit-bot@chromium.org2014-03-25
| | | | | | | | | | | | | | A device was finding the extension string, but was returning NULL when getting the proc addresses BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/211633002 git-svn-id: http://skia.googlecode.com/svn/trunk@13946 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Revert of implement readPixels and writePixels natively, w/o using ↵Gravatar reed@google.com2014-03-25
| | | | | | | | | | | | | the (deprecated) (https://codereview.chromium.org/199733016/)" This reverts commit 9a90bd16dc6756395c422adf0f24560d033ed9ea. BUG=skia: R=bsalomon@google.com Review URL: https://codereview.chromium.org/211293002 git-svn-id: http://skia.googlecode.com/svn/trunk@13939 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix for int to bool in GrInOrderDrawBufferGravatar commit-bot@chromium.org2014-03-25
| | | | | | | | | | | | | | NOTREECHECK=True NOTRY=True R=bsalomon@google.com TBR=bsalomon@google.com BUG=skia: Author: egdaniel@google.com Review URL: https://codereview.chromium.org/207553006 git-svn-id: http://skia.googlecode.com/svn/trunk@13938 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add Gpu Tracing to GaneshGravatar commit-bot@chromium.org2014-03-25
| | | | | | | | | | | BUG=skia:2316 R=bsalomon@google.com, tomhudson@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/184443003 git-svn-id: http://skia.googlecode.com/svn/trunk@13936 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GM that tests GrTextureDomain and fix bug where kDecal_Mode gets ↵Gravatar commit-bot@chromium.org2014-03-25
| | | | | | | | | | | | incorrectly ignored. R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/208313017 git-svn-id: http://skia.googlecode.com/svn/trunk@13933 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of implement readPixels and writePixels natively, w/o using the ↵Gravatar commit-bot@chromium.org2014-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (deprecated) (https://codereview.chromium.org/199733016/) Reason for revert: Android bots segfaulting in tests. Original issue's description: > implement readPixels and writePixels natively, w/o using the (deprecated) > SkCanvas::Config8888 enum. > > Revert "Revert "hide Config8888 entirely". Broke a bunch of builds." > > This reverts commit 763277ba157fef0f651004bb98a189e9f1ac730b. > > Needs chrome to remove the READPIXELS guard from skia's .gyp > > Committed: https://code.google.com/p/skia/source/detail?r=13931 R=reed@google.com TBR=reed@google.com NOTREECHECKS=true NOTRY=true Author: mtklein@google.com Review URL: https://codereview.chromium.org/209233004 git-svn-id: http://skia.googlecode.com/svn/trunk@13932 2bbb7eff-a529-9590-31e7-b0007b416f81
* implement readPixels and writePixels natively, w/o using the (deprecated)Gravatar reed@google.com2014-03-25
| | | | | | | | | | | | | | SkCanvas::Config8888 enum. Revert "Revert "hide Config8888 entirely". Broke a bunch of builds." This reverts commit 763277ba157fef0f651004bb98a189e9f1ac730b. Needs chrome to remove the READPIXELS guard from skia's .gyp Review URL: https://codereview.chromium.org/199733016 git-svn-id: http://skia.googlecode.com/svn/trunk@13931 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make it possible to draw multiple paths at once to a draw targetGravatar commit-bot@chromium.org2014-03-25
| | | | | | | | | | | | | | | | | | | | | | | Add interface to draw multiple paths in a single "command" to a draw target. Implement this interface in GrGpuGL with NVPR "instanced" calls. The instanced calls accept list of paths and list of transformations as their parameters. The transformations are at this moment expected to be 2d affine transformations, as the functions are called only for text rendering. This will be used when drawing fonts. Later it can be maybe be used in GrInOrderDrawBuffer to aggregate many draw calls into one instanced draw call, similar to drawing rects. R=jvanverth@google.com, bsalomon@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/209413006 git-svn-id: http://skia.googlecode.com/svn/trunk@13930 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-03-25
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13928 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SkASSERT's to gl/Interface validateGravatar commit-bot@chromium.org2014-03-24
| | | | | | | | | | | BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/209433006 git-svn-id: http://skia.googlecode.com/svn/trunk@13920 2bbb7eff-a529-9590-31e7-b0007b416f81
* When clipping treat rrect corners where either the x or y radius is < 0.5 as ↵Gravatar commit-bot@chromium.org2014-03-24
| | | | | | | | | | | | | square. BUG=skia:2181 R=robertphillips@google.com, jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/200723011 git-svn-id: http://skia.googlecode.com/svn/trunk@13918 2bbb7eff-a529-9590-31e7-b0007b416f81
* More distance field improvements:Gravatar commit-bot@chromium.org2014-03-24
| | | | | | | | | | | | | | | | | - Make sure we only use the 0,0 subpixel glyph - Copy image data into outsized buffer to ensure we capture outer edges - Change edge dump to blend better with original glyph - Edges are detected across >128 and <128 boundaries, or when there are two non-zero <128 pixels next to each other BUG=skia: R=robertphillips@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/208893003 git-svn-id: http://skia.googlecode.com/svn/trunk@13916 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove unnecessary isrect code in clip mask managerGravatar commit-bot@chromium.org2014-03-24
| | | | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/205213002 git-svn-id: http://skia.googlecode.com/svn/trunk@13911 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove the now-unnecessary enum in the elliptical clipping effect.Gravatar commit-bot@chromium.org2014-03-20
| | | | | | | | | | | BUG=skia:2181 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/204463007 git-svn-id: http://skia.googlecode.com/svn/trunk@13886 2bbb7eff-a529-9590-31e7-b0007b416f81
* replace old SK_TRACE_EVENT macros with new TRACE_EVENT ones, and then remove ↵Gravatar commit-bot@chromium.org2014-03-20
| | | | | | | | | | | | | them entirely! BUG=skia:353 R=tomhudson@google.com, epoger@google.com, reed@google.com, egdaniel@google.com, bsalomon@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/196133033 git-svn-id: http://skia.googlecode.com/svn/trunk@13884 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "hide Config8888 entirely". Broke a bunch of builds.Gravatar bsalomon@google.com2014-03-20
| | | | | | | | | | | | | | | This reverts commit fa11c49cc11a6c9ebafbf9c59e118917f9b3cc56. Revert "Sanitizing source files in Housekeeper-Nightly" to make the above revert clean. This reverts commit b5787422c8eb2a27a9576777597fd9e06784acdb. TBR=reed@google.com TBR=jcgregorio@google.com Review URL: https://codereview.chromium.org/205963003 git-svn-id: http://skia.googlecode.com/svn/trunk@13872 2bbb7eff-a529-9590-31e7-b0007b416f81