aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Add multitexture support to text and path shaders, take 3.Gravatar Jim Van Verth2017-09-11
| | | | | | | | | | | This does not add additional textures to the atlases, just adds the ability to access those textures in the shaders. Bug: skia:3550 Change-Id: I4c1da2bc374a76131f5f4ad946543e03e0ab3126 Reviewed-on: https://skia-review.googlesource.com/44841 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Add missing stdarg.h includeGravatar Roger Johannesson2017-09-11
| | | | | | | | | | | | This file makes use of va_list so it should include stdarg.h. This was handled implictly by SkString.h before https://skia-review.googlesource.com/34381 landed. Bug: skia: Change-Id: I74fc50463549481a0e8835943823e627bc288dd8 Reviewed-on: https://skia-review.googlesource.com/44740 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Reland "Optimize SkColorSpaceXformCanvas for GPU-acceleration"Gravatar Justin Novosad2017-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of 1d3df3848ff297e353a2d0f0fae6ec4a55ab7ba6 Original change's description: > Optimize SkColorSpaceXformCanvas for GPU-acceleration > > This change ensures that SkImages are uploaded to the GPU before > applying the xform when the destination canvas is on the GPU. This > makes it possible to get hits in the texture cache and it ensures > that transforms get computed on the GPU. > > This fixes a severe performance regression in Chrome that happened > when color correction was enabled. > > Associated chromium patch for layout test rebaselines: > https://chromium-review.googlesource.com/c/chromium/src/+/655483 > > Merge dependency: Merging this change to the M-62 and M-61 > branches also requires merging the following change, otherwise > there will be rendering errors: > https://skia-review.googlesource.com/c/skia/+/43562 > > BUG=chromium:760738 > > Change-Id: I49fd5ef7968272d311249c3824fe15bee4648b73 > Reviewed-on: https://skia-review.googlesource.com/43183 > Commit-Queue: Justin Novosad <junov@chromium.org> > Reviewed-by: Brian Osman <brianosman@google.com> Bug: chromium:760738 Change-Id: I94a3482713dc4ff824ae21ea640c04d06bb7e29d Reviewed-on: https://skia-review.googlesource.com/44760 Reviewed-by: Justin Novosad <junov@chromium.org> Commit-Queue: Justin Novosad <junov@chromium.org>
* Use enum value as the lower boundGravatar Petr Hosek2017-09-09
| | | | | | | | | | This is triggering a compilation error in the latest version of Clang because of the new Wtautological-unsigned-zero-compare warning. Change-Id: I578eb1244719fd331113b9444e2eca672912afc8 Reviewed-on: https://skia-review.googlesource.com/44580 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Revert "Revert "Revert "Add multitexture support to text and path shaders"""Gravatar Mike Klein2017-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6c251d24cf90a5c4c091bb7b7373e72705f716d2. Reason for revert: crashes Fuchsia. Original change's description: > Revert "Revert "Add multitexture support to text and path shaders"" > > This does not add additional textures to the atlases, just adds the > ability to access those textures in the shaders. > > Bug: skia:3550 > Change-Id: I552e2c2e4713a5ea68801fdb8e3bab3867e77988 > Reviewed-on: https://skia-review.googlesource.com/44261 > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=jvanverth@google.com,robertphillips@google.com Change-Id: I25cc5f11a1fa76ca7b2cf24920ae3a2a15aac723 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:3550 Reviewed-on: https://skia-review.googlesource.com/44540 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Revert "Remove isMipMapped from GrSurfaceDesc" and follow up find exact ↵Gravatar Greg Daniel2017-09-08
| | | | | | | | | | | | | | | scratch CL This reverts commit 52cb5fe23b8f960bb3248620c8f4e2f2957b6685. This reverts commit e1fbf170580a4b932d0abcb11593fb1ef0cac60b. TBR:bsalomon@googole.com Bug: chromium:763333 Change-Id: Ie94e00c3c7231e32f009b9dc7bb51ebb53baf7b1 Reviewed-on: https://skia-review.googlesource.com/44400 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Don't allow iteration through non-finite points.Gravatar Mike Klein2017-09-08
| | | | | | | | | | | Added a unit test too. BUG=chromium:756563 Change-Id: Ic77a89b4a98d1a553877af9807a3d3bdcd077bb9 Reviewed-on: https://skia-review.googlesource.com/44420 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* CCPR: Check for flat lines before crunching on curvesGravatar Chris Dalton2017-09-08
| | | | | | | | Bug: skia: Change-Id: Ib99f3f83aee4c261ef1cfc4e1045b2be3113e1ae Reviewed-on: https://skia-review.googlesource.com/43100 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Add multitexture support to text and path shaders""Gravatar Jim Van Verth2017-09-08
| | | | | | | | | | This does not add additional textures to the atlases, just adds the ability to access those textures in the shaders. Bug: skia:3550 Change-Id: I552e2c2e4713a5ea68801fdb8e3bab3867e77988 Reviewed-on: https://skia-review.googlesource.com/44261 Reviewed-by: Robert Phillips <robertphillips@google.com>
* update SkJumper stages to clang 5Gravatar Mike Klein2017-09-08
| | | | | | | | | | | | | | | | | | | | To continue building stages, update Clang and update your GN args: $ brew update $ brew upgrade llvm $ find . | grep args.gn | xargs sed -ie 's/clang-4.0/clang-5.0/g' Some interesting codegen changes I noticed: - ARMv7: generally better register assignment, tighter code - ARMv7: dropped the 128-bit alignment hint when loading and storing dst "registers", unclear why. - HSW: now clearing the destination register before vgatherdps, to break a dependency on the previous value Change-Id: I4f804a4cbfcde530fad5ed535438174e852a9593 Reviewed-on: https://skia-review.googlesource.com/44241 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Update GrResourceCache changeUniqueKey to stay in valid state after each stepGravatar Greg Daniel2017-09-08
| | | | | | | | | | | | The issues are that we are intertwining removing things from the old and new resource. This changes it so we do all the removal on the old resource first then start updating the new resource. Bug: skia: Change-Id: I7ce4a309290cd499cdc4398c87d1cfd42ef6994d Reviewed-on: https://skia-review.googlesource.com/44242 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Skip making a surface context when doing threaded SW pathsGravatar Brian Osman2017-09-08
| | | | | | | | Bug: skia: Change-Id: I4f78abc836f22a216e94a47cb2a7414edccbd2b6 Reviewed-on: https://skia-review.googlesource.com/44201 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Add multitexture support to text and path shaders"Gravatar Jim Van Verth2017-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7f754260f7fc2ae0326a072dd2f0429e584f8ca0. Reason for revert: Bot failures. Original change's description: > Add multitexture support to text and path shaders > > This does not add additional textures to the atlases, just adds the > ability to access those textures in the shaders. > > Bug: skia:3550 > Change-Id: I636b329a6f748b6753f5f92a70066fb412623df2 > Reviewed-on: https://skia-review.googlesource.com/43000 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Jim Van Verth <jvanverth@google.com> TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: I5c28ea48ed9bdde2cd936ef4f96fc720d5e4b4a5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:3550 Reviewed-on: https://skia-review.googlesource.com/44162 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Revert "Revert "Make TextureOp use multitexturing to batch draws of ↵Gravatar Brian Salomon2017-09-08
| | | | | | | | | | | | different SkImages."" This reverts commit 4e95a88c83fcada8b245b6c0860deba5ccdcf825. Bug: skia: Change-Id: I5f849abff3f8406587e3d7cf990f50ef14fc4656 Reviewed-on: https://skia-review.googlesource.com/44220 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add multitexture support to text and path shadersGravatar Jim Van Verth2017-09-08
| | | | | | | | | | | This does not add additional textures to the atlases, just adds the ability to access those textures in the shaders. Bug: skia:3550 Change-Id: I636b329a6f748b6753f5f92a70066fb412623df2 Reviewed-on: https://skia-review.googlesource.com/43000 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Revert "Optimize SkColorSpaceXformCanvas for GPU-acceleration"Gravatar Robert Phillips2017-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1d3df3848ff297e353a2d0f0fae6ec4a55ab7ba6. Reason for revert: Mac timeouts? crbug.com/763197 Original change's description: > Optimize SkColorSpaceXformCanvas for GPU-acceleration > > This change ensures that SkImages are uploaded to the GPU before > applying the xform when the destination canvas is on the GPU. This > makes it possible to get hits in the texture cache and it ensures > that transforms get computed on the GPU. > > This fixes a severe performance regression in Chrome that happened > when color correction was enabled. > > Associated chromium patch for layout test rebaselines: > https://chromium-review.googlesource.com/c/chromium/src/+/655483 > > Merge dependency: Merging this change to the M-62 and M-61 > branches also requires merging the following change, otherwise > there will be rendering errors: > https://skia-review.googlesource.com/c/skia/+/43562 > > BUG=chromium:760738 > > Change-Id: I49fd5ef7968272d311249c3824fe15bee4648b73 > Reviewed-on: https://skia-review.googlesource.com/43183 > Commit-Queue: Justin Novosad <junov@chromium.org> > Reviewed-by: Brian Osman <brianosman@google.com> TBR=brianosman@google.com,junov@chromium.org Change-Id: I1a43e9b277075d1aee0efd651c899e15ac3fa53b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:760738 Reviewed-on: https://skia-review.googlesource.com/44160 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Improve GrPathRendererChain heuristicsGravatar Chris Dalton2017-09-07
| | | | | | | | | | | | Changes GrPathRenderer::canDrawPath to return a 'CanDrawPath' enum, which contains a new kAsBackup value that means "I'm better than SW, but give the path renderers below me a chance first." Bug: skia: Change-Id: Ia339567800a3127e61b9beaed19504cd504f18af Reviewed-on: https://skia-review.googlesource.com/43761 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Revert "Make TextureOp use multitexturing to batch draws of different SkImages."Gravatar Robert Phillips2017-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2e50d0f5f93f1290341be02a1aa553b981f9774f. Reason for revert: Shader compilation error Original change's description: > Make TextureOp use multitexturing to batch draws of different SkImages. > > On a benchmark drawing small texture backed images this shows a 50% improvement on a Pixel XL 2016 and a little better than that on a Z840. > > Change-Id: I5c307ef0d8615aeae67bae7393874ad7e52eb233 > Reviewed-on: https://skia-review.googlesource.com/42121 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,brianosman@google.com Change-Id: I28b9a139627e2492a2af53dd82fc8c43be94464b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/43920 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Update GenerateMipMapsAndUploadtoTextureProxy to respect color space when ↵Gravatar Greg Daniel2017-09-07
| | | | | | | | | | setting up SurfaceDesc Bug: skia: Change-Id: Ie98c9c565ee9e2fd4d405389be9e9487cf71f951 Reviewed-on: https://skia-review.googlesource.com/43743 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Make TextureOp use multitexturing to batch draws of different SkImages.Gravatar Brian Salomon2017-09-07
| | | | | | | | | On a benchmark drawing small texture backed images this shows a 50% improvement on a Pixel XL 2016 and a little better than that on a Z840. Change-Id: I5c307ef0d8615aeae67bae7393874ad7e52eb233 Reviewed-on: https://skia-review.googlesource.com/42121 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Improve GrPathRendererChain heuristics"Gravatar Chris Dalton2017-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 60f42494f5d45c38e260ce089cdddfb600f799b2. Reason for revert: breaking gold Original change's description: > Improve GrPathRendererChain heuristics > > Changes GrPathRenderer::canDrawPath to return a 'CanDrawPath' enum, > which contains a new kAsBackup value that means "I'm better than SW, > but give the path renderers below me a chance first." > > Bug: skia: > Change-Id: I45aac5462ca1bc0bc839eb1c315db9493901a07e > Reviewed-on: https://skia-review.googlesource.com/42222 > Reviewed-by: Brian Osman <brianosman@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Chris Dalton <csmartdalton@google.com> TBR=jvanverth@google.com,bsalomon@google.com,brianosman@google.com,csmartdalton@google.com,senorblanco@google.com Change-Id: I46020dbd56b6f6b88668894285b9b7b80f89b9a2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/43780 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Update mtl backend to use GrSamplerStateGravatar Brian Salomon2017-09-07
| | | | | | | Bug: skia: Change-Id: I9f9469f6c250f80095b9c36539226919fa54c75e Reviewed-on: https://skia-review.googlesource.com/43740 Reviewed-by: Greg Daniel <egdaniel@google.com>
* Optimize SkColorSpaceXformCanvas for GPU-accelerationGravatar Justin Novosad2017-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | This change ensures that SkImages are uploaded to the GPU before applying the xform when the destination canvas is on the GPU. This makes it possible to get hits in the texture cache and it ensures that transforms get computed on the GPU. This fixes a severe performance regression in Chrome that happened when color correction was enabled. Associated chromium patch for layout test rebaselines: https://chromium-review.googlesource.com/c/chromium/src/+/655483 Merge dependency: Merging this change to the M-62 and M-61 branches also requires merging the following change, otherwise there will be rendering errors: https://skia-review.googlesource.com/c/skia/+/43562 BUG=chromium:760738 Change-Id: I49fd5ef7968272d311249c3824fe15bee4648b73 Reviewed-on: https://skia-review.googlesource.com/43183 Commit-Queue: Justin Novosad <junov@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com>
* Improve GrPathRendererChain heuristicsGravatar Chris Dalton2017-09-07
| | | | | | | | | | | | | Changes GrPathRenderer::canDrawPath to return a 'CanDrawPath' enum, which contains a new kAsBackup value that means "I'm better than SW, but give the path renderers below me a chance first." Bug: skia: Change-Id: I45aac5462ca1bc0bc839eb1c315db9493901a07e Reviewed-on: https://skia-review.googlesource.com/42222 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Rework GrSamplerParams to be more compact and use its own wrap mode enum.Gravatar Brian Salomon2017-09-07
| | | | | | | | | The main change is to make GrSamplerParams smaller by making its enums have byte-sized underlying types. The rest is cosmetic. Change-Id: Ib71ea50612d24619a85e463826c6b8dfb9b445e3 Reviewed-on: https://skia-review.googlesource.com/43200 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Revert "Remove "content" rect from GrTextureAdjuster."Gravatar Brian Salomon2017-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6e4bbbefe153495cf34ea42aa72691756e6ab40e. Reason for revert: assertion failure Original change's description: > Remove "content" rect from GrTextureAdjuster. > > Since we got rid of texture-backed bitmaps this is no longer required. > > Change-Id: Id15c745994a3d6a1489e193b5d29916fa0931264 > Reviewed-on: https://skia-review.googlesource.com/36340 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> TBR=bsalomon@google.com,robertphillips@google.com Change-Id: I2229ec05079368ff196ff351107f88062080e5ec No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/43720 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove "content" rect from GrTextureAdjuster.Gravatar Brian Salomon2017-09-07
| | | | | | | | | Since we got rid of texture-backed bitmaps this is no longer required. Change-Id: Id15c745994a3d6a1489e193b5d29916fa0931264 Reviewed-on: https://skia-review.googlesource.com/36340 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Make SkImage_Lazy always report the color space of its dataGravatar Brian Osman2017-09-07
| | | | | | | | | | | | Legacy clients are likely to ignore this information, but there are cases (using SkColorSpaceXformCanvas) where getting accurate information is important. Bug: skia: Change-Id: Ia56170559c82299375021c813424098ffc627b02 Reviewed-on: https://skia-review.googlesource.com/43562 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Fix for Google3 roll failureGravatar Ethan Nicholas2017-09-07
| | | | | | | | Bug: skia: Change-Id: I19ba8a0fba290bd35622dfa18efdaa1cada666ee Reviewed-on: https://skia-review.googlesource.com/43640 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Remove loop unrolling code in load_gamutGravatar nagarajan.n2017-09-07
| | | | | | | | | | | This patch removes the loop unrolling code in load_gamut() for improving the code readability. Bug: skia: None Change-Id: I749a3351a9f570347946a419d31efffa85818267 Reviewed-on: https://skia-review.googlesource.com/22001 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Remove loop unrolling code in onQueryYUV8Gravatar nagarajan.n2017-09-07
| | | | | | | | | | | This patch removes the loop unrolling code in onQueryYUV8() to improve code readability. Bug: skia: None Change-Id: Iddbc0a114fae05234bfea39802f19a430f6c86ec Reviewed-on: https://skia-review.googlesource.com/22000 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Update libjpeg buffer status when it has has to be refilled.Gravatar nagarajan.n2017-09-07
| | | | | | | | | | | | To fix the error "corrupt JPEG data: premature end of data segment chromium" update the status to libjpeg when buffer has to be refilled. Bug: skia: None Change-Id: I20d253133b5cf8e8e75b5f44774d0116a0a854ee Reviewed-on: https://skia-review.googlesource.com/24600 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Fix SkASSERT for convex paths with DAAGravatar Yuqian Li2017-09-07
| | | | | | | | | | | | | | As DAA does not chop edges at Y extrema, it's valid for convex edges to have only one edge (e.g., a single cubic edge with the valley shape \_/). This wasn't an issue for production because DAA is never called for convex paths by default. Bug=skia:7015 Change-Id: Iac79801d6a24188970ef6f7bf723494a25d92a1e Reviewed-on: https://skia-review.googlesource.com/42942 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Revert "Revert "Initial checkin of SkSL lexical analyzer generator (not ↵Gravatar Ethan Nicholas2017-09-07
| | | | | | | | | | | | actually in use yet)."" This reverts commit 3ed4781ee1bd5af9b3ee2623e5356e86ce36e812. Bug: skia: Change-Id: If0de7ca17c4da8000d3526a73b71be6ee34ce060 Reviewed-on: https://skia-review.googlesource.com/43561 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Add rect clip optimization to GrRenderTargetContext::drawTextureAffineGravatar Brian Salomon2017-09-07
| | | | | | | | Bug: skia: Change-Id: Ibca6bdf9dc72a2b1579a5eb4c22d30e32b964f83 Reviewed-on: https://skia-review.googlesource.com/40803 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* remove useless resetGravatar Cary Clark2017-09-07
| | | | | | | | | | | | | | | | | void reset(const SkImageInfo& info) is not useful because it sets rowBytes to zero while leaving width alone. This form of reset also doesn't appear to have a caller. TBR=reed@google.com Bug: skia: 6898 Change-Id: I87019420ddc59107aefe0cac27a6b969976f1bf6 Reviewed-on: https://skia-review.googlesource.com/43480 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* Revert "Initial checkin of SkSL lexical analyzer generator (not actually in ↵Gravatar Ethan Nicholas2017-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | use yet)." This reverts commit 3de0e496b5215bcf4b26db2d69dc84376dfd68d2. Reason for revert: Google3 roll failure Original change's description: > Initial checkin of SkSL lexical analyzer generator (not actually in use yet). > > Bug: skia: > Change-Id: I283feb9ac1cef134588204107ea019ce657e37b3 > Reviewed-on: https://skia-review.googlesource.com/42084 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,ethannicholas@google.com Change-Id: Ifa9a054aba9baa1e0d17309a2e1838b5d3b0bfec No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/43340 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Initial checkin of SkSL lexical analyzer generator (not actually in use yet).Gravatar Ethan Nicholas2017-09-06
| | | | | | | | Bug: skia: Change-Id: I283feb9ac1cef134588204107ea019ce657e37b3 Reviewed-on: https://skia-review.googlesource.com/42084 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Use kIgnore blend behavior when encoding JPEGGravatar Leon Scroggins III2017-09-06
| | | | | | | | | | | This looks to have been an oversight - encoding PNG and WEBP both use kIgnore when called through this interface. Bug: b/65262488 Change-Id: I23ba02f979210087808ee2da026a2ca0269e0fb4 Reviewed-on: https://skia-review.googlesource.com/43261 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Clean up mask blur code.Gravatar Herb Derby2017-09-06
| | | | | | | | | | | | | | | | | | | | | | This code has interpolation for small radii like the old code. This code is protected by the flag: SK_LEGACY_SUPPORT_INTEGER_SMALL_RADII In addition, I have improved the scale calculation for Gauss to be more accurate, and it is also protected by the flag: SK_LEGACY_SUPPORT_INTEGER_SMALL_RADII When SK_LEGACY_SUPPORT_INTEGER_SMALL_RADII is defined, then there is no difference. Bug: skia: Change-Id: I588299c3768dd009852ce41f33a6a8572d9f4ad3 Reviewed-on: https://skia-review.googlesource.com/41746 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* impl blitAntiV2 via mask for rasterpipelineGravatar Mike Reed2017-09-06
| | | | | | | | Bug: skia: Change-Id: I3c34a9c38a86edc518abaf34982e1334a4154a15 Reviewed-on: https://skia-review.googlesource.com/43140 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Try finding exact scratch texture in cache before approxGravatar Greg Daniel2017-09-06
| | | | | | | | Bug: skia: Change-Id: Ia65b94bde7aa52e951ba94a0012e794f02c3177e Reviewed-on: https://skia-review.googlesource.com/42940 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Remove isMipMapped from GrSurfaceDescGravatar Greg Daniel2017-09-06
| | | | | | | | Bug: skia: Change-Id: Id3864aad7ff9636362c9c54ef411a02af9c83fbf Reviewed-on: https://skia-review.googlesource.com/42083 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* possible fix for pathops timeoutGravatar Cary Clark2017-09-06
| | | | | | | | | | | | | | | | | | | | fuzzer causes pathops to loop somewhere finding complex intersections, but does not have a reproducible test case. Somewhat grasping at straws, the failing condition in this CL was triggered by the fuzzer tests, but may or may not be related to the hang. TBR=reed@google.com Bug: 754434 Change-Id: Ia8edc0709cec559b277ed83a5ad6feb67d8088c6 Reviewed-on: https://skia-review.googlesource.com/42780 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* Init hardware buffer state in GrGLGpuGravatar Rob Phillips2017-09-06
| | | | | | | Change-Id: I827e158703941ef61b2f390751b7521acdeeb951 Reviewed-on: https://skia-review.googlesource.com/42824 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* clean up SK_JUMPER_LEGACY_X86_8BITGravatar Mike Klein2017-09-06
| | | | | | | Change-Id: I26c22c085efd70b65de927a9a8a041d03c170f2a Reviewed-on: https://skia-review.googlesource.com/42760 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* CCPR: Remove cubic insets and MSAA bordersGravatar Chris Dalton2017-09-05
| | | | | | | | | | | | | | | Avoids the need for MSAA cubic borders by chopping up the cubic geometry and crossing the inflections points and loop intersections with lines and quadratic(s) instead. This allows us to render the remaining cubic segments with simple hulls and analytic AA, giving better image quality and performance. Bug: skia: Change-Id: If371229f575ee0286c325c230a116d602a9d38ce Reviewed-on: https://skia-review.googlesource.com/41883 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* CCPR: Rewrite path parsingGravatar Chris Dalton2017-09-05
| | | | | | | | | | | | Creates a GrCCPRGeometry class that chops contours up into simple segments that ccpr can render, and rewrites the GPU buffer creation to be able to handle arbitrary lengths of ccpr geometry. Bug: skia: Change-Id: Iaa173a02729e177b0ed7ef7fbb9195d349be689d Reviewed-on: https://skia-review.googlesource.com/41963 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Revert "Optimize SkColorSpaceXformCanvas for GPU-acceleration"Gravatar Robert Phillips2017-09-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 19c8726a0829e506c5c42d22d67b3fe7505ed24e. Reason for revert: Breaking Chrome roll Original change's description: > Optimize SkColorSpaceXformCanvas for GPU-acceleration > > This change ensures that SkImages are uploaded to the GPU before > applying the xform when the destination canvas is on the GPU. This > makes it possible to get hits in the texture cache and it ensure > that transforms get computed on the GPU. > > This fixes a severe performance regression in Chrome that happened > when color correction was enabled. > > BUG=chromium:760738 > > Change-Id: I52032a9f06ccbe1a7fd56a91db15377925143b26 > Reviewed-on: https://skia-review.googlesource.com/42422 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Justin Novosad <junov@chromium.org> TBR=brianosman@google.com,junov@chromium.org Change-Id: Ia117d6f95c34324383aaf3bfc990bb13e48bed6e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:760738 Reviewed-on: https://skia-review.googlesource.com/42720 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Unbind xfer buffer in a couple more placesGravatar Brian Osman2017-09-05
| | | | | | | | | | | Move code into a helper function, make sure that all TexImage and TexSubImage calls are correctly unbinding. Bug: skia: Change-Id: I79bfa0af43a08f775186a867167fa67b4437688c Reviewed-on: https://skia-review.googlesource.com/42640 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Osman <brianosman@google.com>