aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkCanvas.cpp
Commit message (Collapse)AuthorAge
* Revert "Revert "SkTypes: extract SkTo""Gravatar Hal Canary2018-06-14
| | | | | | | | | | | | | | | | This reverts commit fdcfb8b7c23fbf18f872d2c31d27978235033876. > Original change's description: > > SkTypes: extract SkTo > > > > Change-Id: I8de790d5013db2105ad885fa2683303d7c250b09 > > Reviewed-on: https://skia-review.googlesource.com/133620 > > Reviewed-by: Mike Klein <mtklein@google.com> Change-Id: Ida74fbc5c21248a724a5edbf9fae18a33bcb23aa Reviewed-on: https://skia-review.googlesource.com/134506 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Revert "SkTypes: extract SkTo"Gravatar Hal Canary2018-06-13
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2a2f67592602b18527bc3fd449132d420cd5b62e. Reason for revert: this appears to be what is holding up the Chrome roll. Original change's description: > SkTypes: extract SkTo > > Change-Id: I8de790d5013db2105ad885fa2683303d7c250b09 > Reviewed-on: https://skia-review.googlesource.com/133620 > Reviewed-by: Mike Klein <mtklein@google.com> TBR=mtklein@google.com,halcanary@google.com No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: Iafd738aedfb679a23c061a51afe4b98a8d4cdfae Reviewed-on: https://skia-review.googlesource.com/134504 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* SkTypes: extract SkToGravatar Hal Canary2018-06-12
| | | | | | Change-Id: I8de790d5013db2105ad885fa2683303d7c250b09 Reviewed-on: https://skia-review.googlesource.com/133620 Reviewed-by: Mike Klein <mtklein@google.com>
* New more efficient run builderGravatar Herb Derby2018-06-08
| | | | | | | | | | | | | | | A system for building glyph runs. In the future the builder will only live in canvas, but it's internal structures facilitate interacting with the cache a single glyph at a time. When all the bulk code is in place, only runs will be passed around. Passing the builder down the text draw stack is temporary. Change-Id: I6e3ed184b3f3a58b919377f2d31936e971bd8efa Reviewed-on: https://skia-review.googlesource.com/132928 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Smarter use of glyph cacheGravatar Herb Derby2018-06-06
| | | | | | Change-Id: Ic9bea7310b375575503042881d9d54ff13996729 Reviewed-on: https://skia-review.googlesource.com/131924 Reviewed-by: Mike Klein <mtklein@chromium.org>
* Reland "Have draw(Text|PosText|PosTextH) use a single entry on the device"Gravatar Herb Derby2018-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 74b390d6b136a60f1df15ac5ecd19bd8ad5a394b. Reason for revert: reverting to add patch for valgrind Original change's description: > Revert "Have draw(Text|PosText|PosTextH) use a single entry on the device" > > This reverts commit 4225b3220ef4bf50f0d9403f812ea94d50c4ee59. > > Reason for revert: made valgrind unhappy. > > Original change's description: > > Have draw(Text|PosText|PosTextH) use a single entry on the device > > > > Handle the positioning of drawText at the canvas layer. Simplify > > the code by removing similar implementations. > > > > Change-Id: I8b711783435072f560e29fca1dd934fa2e345ed2 > > Reviewed-on: https://skia-review.googlesource.com/127131 > > Reviewed-by: Ben Wagner <bungeman@google.com> > > Commit-Queue: Herb Derby <herb@google.com> > > TBR=jvanverth@google.com,bungeman@google.com,herb@google.com > > Change-Id: I65c9d30ae6ecb1f87e8660e56d8f8ce5daab7551 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/132403 > Reviewed-by: Hal Canary <halcanary@google.com> > Commit-Queue: Hal Canary <halcanary@google.com> TBR=jvanverth@google.com,halcanary@google.com,bungeman@google.com,herb@google.com Change-Id: I9bbb73aac447b51eb8215ac42331759fa4c9fa45 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/132580 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Revert "Have draw(Text|PosText|PosTextH) use a single entry on the device"Gravatar Hal Canary2018-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4225b3220ef4bf50f0d9403f812ea94d50c4ee59. Reason for revert: made valgrind unhappy. Original change's description: > Have draw(Text|PosText|PosTextH) use a single entry on the device > > Handle the positioning of drawText at the canvas layer. Simplify > the code by removing similar implementations. > > Change-Id: I8b711783435072f560e29fca1dd934fa2e345ed2 > Reviewed-on: https://skia-review.googlesource.com/127131 > Reviewed-by: Ben Wagner <bungeman@google.com> > Commit-Queue: Herb Derby <herb@google.com> TBR=jvanverth@google.com,bungeman@google.com,herb@google.com Change-Id: I65c9d30ae6ecb1f87e8660e56d8f8ce5daab7551 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/132403 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Have draw(Text|PosText|PosTextH) use a single entry on the deviceGravatar Herb Derby2018-06-05
| | | | | | | | | | Handle the positioning of drawText at the canvas layer. Simplify the code by removing similar implementations. Change-Id: I8b711783435072f560e29fca1dd934fa2e345ed2 Reviewed-on: https://skia-review.googlesource.com/127131 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Remove mask-filters and aa from SkPaint in SkCanvas for nine-patch/lattice.Gravatar Brian Salomon2018-05-21
| | | | | | | | | | Remove GPU fallback code which would have applied AA and mask filter separately to each lattice cell. Change-Id: I43d50f337d24bb34b94f3d0ea6cca686a2e11a50 Reviewed-on: https://skia-review.googlesource.com/129318 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Fix srcBounds computation in SkMatrixConvolutionImageFilterGravatar Robert Phillips2018-05-17
| | | | | | | | | | | Note that this does change the behavior of the cropRect for the repeated case. The cropRect now only acts as a hard clip on the output. BUG= skia:7766 Change-Id: I1d66678bc797cd4835701cd20c36e68b22ac880a Reviewed-on: https://skia-review.googlesource.com/127338 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Minor refactoring to image filtersGravatar Robert Phillips2018-05-14
| | | | | | | | | | This pulls the boring parts out of: https://skia-review.googlesource.com/c/skia/+/127338 (Fix srcBounds computation in SkMatrixConvolutionImageFilter) TBR=bsalomon@google.com Change-Id: Iade788fcc96c4c16989d13e7592030a6a1d3f170 Reviewed-on: https://skia-review.googlesource.com/127573 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Take sk_sp<SkDevice> instead of SkDevice*Gravatar Herb Derby2018-05-02
| | | | | | | | | Change-Id: I0b296bf5b80adc19758a3dc99160be9d2ed05680 Reviewed-on: https://skia-review.googlesource.com/125160 Commit-Queue: Herb Derby <herb@google.com> Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com> Auto-Submit: Herb Derby <herb@google.com>
* Rewrite SkVertices specified with triangle fans as indexed trianglesGravatar Brian Salomon2018-04-28
| | | | | | | Change-Id: Ifaacc426bc657b324f6a885a8ef70b347b048226 Reviewed-on: https://skia-review.googlesource.com/124349 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Chris Dalton <csmartdalton@google.com>
* fix android-frameworkGravatar Mike Reed2018-04-25
| | | | | | | | | Bug: skia: Change-Id: Iac3f306808d931ce46380ec1ed4bda940cd7181d Reviewed-on: https://skia-review.googlesource.com/123746 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Stan Iliev <stani@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Experiment to track coverage in a layerGravatar Mike Reed2018-04-25
| | | | | | | | Bug: skia: Change-Id: I5ed334f63e64991944394dc8103092a2c6280546 Reviewed-on: https://skia-review.googlesource.com/122000 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Properly restore from image filter save layers.Gravatar Ben Wagner2018-04-24
| | | | | | | | | | | | | | | | SkCanvas::internalSaveLayer calls internalSetMatrix to smash the matrix. SkCanvas::internalRestore tried to restore the state by setting just the matrix on the canvas. However, this misses restoring the matrix on the top devices. Correct this by making internalRestore mirror internalSaveLayer and call internalSetMatrix. Without this change some draw calls will not respect the matrix correctly when they follow a draw with an image filter. Change-Id: If2660cd3799c3050604d9d8754b140507ec3f5e1 Reviewed-on: https://skia-review.googlesource.com/123241 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Ben Wagner <bungeman@google.com>
* use SkRect::outset, as it clamps on overflowGravatar Mike Reed2018-04-23
| | | | | | | | | Bug: oss-fuzz:7929 Change-Id: Ic9a2582eb7ab638fda71b10bf987a6c584770e43 Reviewed-on: https://skia-review.googlesource.com/122959 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* (Mostly) respect FilterQuality in draw[stretchy]Gravatar Leon Scroggins III2018-04-23
| | | | | | | | | | | | | | | | | | | | | | | Bug: b/77917978 For drawImageLattice drawBitmapLattice drawImageNine drawBitmapNine , respect the SkFilterQuality on the SkPaint. Previously the GPU used the lowest quality to avoid a bleeding effect, leading to ugly nine- patches on Android. For all backends, cap the filter quality at kLow_SkFilterQuality. Update SkCanvas' documentation to specify this. Change-Id: Id28c7753834975f039170f14bc51be4f2bd44d41 Reviewed-on: https://skia-review.googlesource.com/121891 Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com> Auto-Submit: Leon Scroggins <scroggo@google.com>
* Prevent matrix stack from being corrupted if a rotated image filter is ↵Gravatar Robert Phillips2018-04-20
| | | | | | | | | | clipped out Bug: skia:7765 Change-Id: Id76b63cebc25dcdff02d4ba3f6d6bba6f2b6b842 Reviewed-on: https://skia-review.googlesource.com/122782 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Remove SkPaint::kGenA8FromLCD_Flag.Gravatar Ben Wagner2018-04-16
| | | | | | | | | | | | | The original intent of this flag is now handled by SkPixelGeomety on SkSurfaceProps on SkSurface. BUG=skia:7515 Change-Id: I54bb1be072b5b5b2164a59196bfeacac254823c7 Reviewed-on: https://skia-review.googlesource.com/121346 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* can't abort looper loop, as saveCount won't be balancedGravatar Mike Reed2018-04-12
| | | | | | | | | | | | | | This is triggered by a recent change to clear the looper from the paint we return. That change made the call to nothingToDraw() return true, which in turn meant we didn't get the balancing call to restore in the looper's next() call. Follow-up to https://skia-review.googlesource.com/c/skia/+/121062 Bug: skia: Change-Id: I3ba7d487e4193103fb1d223d34c9c6eb486eca09 Reviewed-on: https://skia-review.googlesource.com/121220 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* always clear the looper when we're unrolling it, to not confused devicesGravatar Mike Reed2018-04-12
| | | | | | | | | | Discovered by https://skia-review.googlesource.com/c/skia/+/119570 Bug: skia: Change-Id: I18c13052c5eb410a46ab16e2f1015861948678af Reviewed-on: https://skia-review.googlesource.com/121062 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Clean-up paints for drawImage (etc.) to enforce that we alwaysGravatar Mike Reed2018-04-11
| | | | | | | | | | ignore stroking and patheffects. Bug: skia:7804 Change-Id: I0b5f3a6734c5e4201a6e3a2bd5e398d213c8950e Reviewed-on: https://skia-review.googlesource.com/120504 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* change canvas-state to just record clip boundsGravatar Mike Reed2018-03-21
| | | | | | | | | | | | This reflects the long-standing restrictions in our clients (webview) and the reality of the gpu target which just uses scissors. It also removes one of the few callers of canvas::clipRegion, which we'd like to remove. Bug: skia: Change-Id: Ie3b3c6e8752f82cddef256f753000f9da4bdbdee Reviewed-on: https://skia-review.googlesource.com/113260 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Apply filterTextFlags so the fonts are the same.Gravatar Herb Derby2018-03-16
| | | | | | | | | | | | | | | | | | In order to apply filterTextFlags correctly, teach TrackLayerDevice how to process save and restore layers. At this point, I don't see any other traffic than the cache warming traffic. This code has a performance between 82% and 105% of just drawing the picture. BUG=skia:7515 Change-Id: I44736be46884f18b6d120d4b5ca582f34dbdff0f Reviewed-on: https://skia-review.googlesource.com/114641 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* consolidate SaveLayerFlag internal referencesGravatar Cary Clark2018-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a third define in SkCanvasPriv to complement SkCanvas::kDontClipToLayer_PrivateSaveLayerFlag and SkCanvas::kDontClipToLayer_Legacy_SaveLayerFlag. SkCanvas::kDontClipToLayer_PrivateSaveLayerFlag exists only to define SkCanvas::kDontClipToLayer_Legacy_SaveLayerFlag and SkCanvasPriv::kDontClipToLayer_SaveLayerFlag. SkCanvas::kDontClipToLayer_Legacy_SaveLayerFlag is used only by Android framework. SkCanvasPriv::kDontClipToLayer_SaveLayerFlag is used internally. Note that changes to CanvasStateTest.cpp inside SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG aren't testable by existing skiabots; it requires building an Android framework aware version of dm. CanvasStateTest.cpp may have bit-rotted. R=reed@google.com,scroggo@google.com Bug: skia:6454,skia:7690 Change-Id: I74f2a54636fae89a5a88a7e13f1baba49d3e2115 Reviewed-on: https://skia-review.googlesource.com/112401 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Reed <reed@google.com>
* remove canvas internal privateGravatar Cary Clark2018-03-06
| | | | | | | | | | | | | interfaces not called externally and aren't used internally R=robertphillips@google.com,reed@google.com Bug: skia:6455 Change-Id: Iee98ce4380a28a831d9bffe99932b54421dd339a Reviewed-on: https://skia-review.googlesource.com/112481 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Revert "Add 1010102 support to Ganesh""Gravatar Brian Osman2018-03-02
| | | | | | | | | | This reverts commit ded47a50143470d1acdafa03e878cc7da5608038. Bug: skia: Change-Id: I7d7552e6ccc8591cae91426407ab13b628b93b68 Reviewed-on: https://skia-review.googlesource.com/111760 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Revert "Add 1010102 support to Ganesh"Gravatar Brian Osman2018-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 44b61204d9f5681b9474db017577d56f42a32d66. Reason for revert: TSAN bot crashing Original change's description: > Add 1010102 support to Ganesh > > Adds gl1010102, gles1010102, vk1010102, and mtl1010102 > configs to DM. > > This uses the same saveLayer approach as CPU, switching > to 8888 so that we have enough alpha precision. > > Change-Id: I9f5b63747ec01031c8db97dadfc42f77e4863ccb > Reviewed-on: https://skia-review.googlesource.com/110500 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> TBR=mtklein@google.com,bsalomon@google.com,brianosman@google.com Change-Id: I782e740763044c1ae78fb219161e37eec7617c74 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/111580 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Add 1010102 support to GaneshGravatar Brian Osman2018-03-01
| | | | | | | | | | | | | Adds gl1010102, gles1010102, vk1010102, and mtl1010102 configs to DM. This uses the same saveLayer approach as CPU, switching to 8888 so that we have enough alpha precision. Change-Id: I9f5b63747ec01031c8db97dadfc42f77e4863ccb Reviewed-on: https://skia-review.googlesource.com/110500 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* make 1010102/888x layers 8888, not 1010102/888xGravatar Mike Klein2018-02-26
| | | | | | | | | | This hopefully keeps all other considerations the same, like sRGB keeps sRGB layers, F16 F16 layers, etc. Change-Id: Icdf0b259ae782321e6f96c6f8bc814d520c7dd25 Reviewed-on: https://skia-review.googlesource.com/110442 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add isFinite() bounds check for drawPointsGravatar Jim Van Verth2018-02-21
| | | | | | | | Bug: 811095 Change-Id: I09a55622a19ebfc9430d7676eb8764c074f1bcb7 Reviewed-on: https://skia-review.googlesource.com/109022 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* hide virtual and rename to onMakeComposedGravatar Mike Reed2018-02-19
| | | | | | | | Bug: skia: Change-Id: Ic18ee2af3273f81ebec9c9031162e808186c0acd Reviewed-on: https://skia-review.googlesource.com/108300 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Reland "remove SkCanvas::kIsOpaque_SaveLayerFlag"Gravatar Mike Klein2018-02-07
| | | | | | | | | | | | | | | | | | | | | | | This reverts the revert 9ff8c8c073ba553dc8b22bb9aacc23949292f72f. Original: This is a performance-only hint that no one but fuzzers is using. It's even explicitly filtered out in Android. The fuzzers have noticed they can trick us into allocating uninitialized memory and treating it as opaque, blending uninitialized pixels, etc. Since no one's using this, we can just kill the bit. Bug: skia:7566, chromium:808830 Docs-Preview: https://skia.org/?cl=105282 Change-Id: I4326c663f777aa373ff7ec9f319519da9729350d Reviewed-on: https://skia-review.googlesource.com/105282 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "remove SkCanvas::kIsOpaque_SaveLayerFlag"Gravatar Mike Klein2018-02-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9a7a2ee5ad8453a985d7d76c1e0ebb50d17fec63. Reason for revert: still need to update blink_headless in Google3 Original change's description: > remove SkCanvas::kIsOpaque_SaveLayerFlag > > This is a performance-only hint that no one but fuzzers > is using. It's even explicitly filtered out in Android. > > The fuzzers have noticed they can trick us into allocating > uninitialized memory and treating it as opaque, blending > uninitialized pixels, etc. > > Since no one's using this, we can just kill the bit. > > Bug: skia:7566, chromium:808830 > > Change-Id: Id74a85e51bc4d0907b4127eb9ac5b02576f8f0a7 > Reviewed-on: https://skia-review.googlesource.com/104441 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Klein <mtklein@chromium.org> TBR=mtklein@chromium.org,fmalita@chromium.org,reed@google.com Change-Id: I10d3c7e5184b9322715a5bfb6a7106292c8876a3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7566, chromium:808830 Reviewed-on: https://skia-review.googlesource.com/104781 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* remove SkCanvas::kIsOpaque_SaveLayerFlagGravatar Mike Klein2018-02-07
| | | | | | | | | | | | | | | | | | This is a performance-only hint that no one but fuzzers is using. It's even explicitly filtered out in Android. The fuzzers have noticed they can trick us into allocating uninitialized memory and treating it as opaque, blending uninitialized pixels, etc. Since no one's using this, we can just kill the bit. Bug: skia:7566, chromium:808830 Change-Id: Id74a85e51bc4d0907b4127eb9ac5b02576f8f0a7 Reviewed-on: https://skia-review.googlesource.com/104441 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* don't draw images with nonfinite dst boundsGravatar Mike Reed2018-01-30
| | | | | | | | Bug: skia: Change-Id: I95f32f8b9d6c47c3d95c0a19f7fdaaa6a648ef09 Reviewed-on: https://skia-review.googlesource.com/101745 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "hide picture virtuals (no public callers)"Gravatar Mike Klein2018-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8005bff7e631a269f0dfaae93ff9963dc0e5ff39. Reason for revert: hwui, flutter, and headless blink in G3 all still using these. Original change's description: > hide picture virtuals (no public callers) > > This prepares the way for a clean impl of a "placeholder" picture that never unrolls > > Bug: skia: > Change-Id: I3b5785c5c94432b54e9a7dc280b2a6e716592473 > Reviewed-on: https://skia-review.googlesource.com/100260 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Mike Klein <mtklein@chromium.org> TBR=mtklein@chromium.org,mtklein@google.com,reed@google.com Change-Id: I385789dd420588ea9a9390c8a44c6ecb96c7f358 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/100880 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* hide picture virtuals (no public callers)Gravatar Mike Reed2018-01-27
| | | | | | | | | | This prepares the way for a clean impl of a "placeholder" picture that never unrolls Bug: skia: Change-Id: I3b5785c5c94432b54e9a7dc280b2a6e716592473 Reviewed-on: https://skia-review.googlesource.com/100260 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* require finite blob boundsGravatar Mike Reed2018-01-23
| | | | | | | | | | inspired by https://fuzzer.skia.org/category/image_filter_deserialize/file/aW5jbHVkZS9jb3JlL1NrUGFpbnQuaA==? Bug: skia: Change-Id: I490585b9fdc0b4b29565849478b97ed7f5057ca1 Reviewed-on: https://skia-review.googlesource.com/98800 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Set empty device clip when an image filter has zero boundsGravatar Xianzhu Wang2018-01-22
| | | | | | | | | | | | | | When an image filter has zero input bounds, we should not paint any contents of it, so we should set an empty clip. This is like the case that the clip rect doesn't intersect with the image filter's input bounds. Bug: chromium:771643 Change-Id: I063c14128dacb83e3572bd2ef4dfeee93c871064 Reviewed-on: https://skia-review.googlesource.com/96943 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Stephen White <senorblanco@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* check for crazy bounds from fuzzerGravatar Mike Reed2018-01-19
| | | | | | | | Bug: skia:7471 Change-Id: I1d6e2059a0c4f2b705d3b0fe2694f17b68c3ae5c Reviewed-on: https://skia-review.googlesource.com/97122 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Mike Reed <reed@google.com>
* update pipe for lattice and shadowrecGravatar Mike Reed2018-01-03
| | | | | | | | | | | - move some lattice routines into shared helper (SkCanvasPriv) Bug: skia: Change-Id: Ibbb80dd7461c7fd3082a0220604ab42cbb8815be Reviewed-on: https://skia-review.googlesource.com/90540 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Reed <reed@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>
* rename overloaded methods as speculative fix/diagnosticGravatar Mike Reed2017-11-15
| | | | | | | | Bug:783136 Change-Id: I95df299bd9e1c6263b8e79b23fbe90340bd950e9 Reviewed-on: https://skia-review.googlesource.com/72240 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* add surfaceprops param to SkCanvas::MakeRasterDirectGravatar Mike Reed2017-11-08
| | | | | | | | Bug: skia: Change-Id: I8b69280469cdf34c3c3cb126db9457a712143f88 Reviewed-on: https://skia-review.googlesource.com/68701 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Remove trailing whitespace.Gravatar Ben Wagner2017-10-09
| | | | | | | | | | | Also adds a presubmit to prevent adding trailing whitespace to source code in the future. Change-Id: I41a4df81487f6f00aa19b188f0cac6a3377efde6 Reviewed-on: https://skia-review.googlesource.com/57380 Reviewed-by: Ravi Mistry <rmistry@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Convert NULL and 0 to nullptr.Gravatar Ben Wagner2017-08-28
| | | | | | | | | | | | | | This was created by looking at warnings produced by clang's -Wzero-as-null-pointer-constant. This updates most issues in Skia code. However, there are places where GL and Vulkan want pointer values which are explicitly 0, external headers which use NULL directly, and possibly more uses in un-compiled sources (for other platforms). Change-Id: Id22fbac04d5c53497a53d734f0896b4f06fe8345 Reviewed-on: https://skia-review.googlesource.com/39521 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Cleanup tracing macros for use by the Android frameworkGravatar Derek Sollenberger2017-08-16
| | | | | | | Change-Id: I1b918cc55a5faba1e5c1e02ffeda5d5713866edd Reviewed-on: https://skia-review.googlesource.com/35282 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
* Remove SkLightingShader and associated classesGravatar Robert Phillips2017-08-07
| | | | | | | | Change-Id: I8050414c30dfdb5df23ca79955adc5ba3a29d3f5 Reviewed-on: https://skia-review.googlesource.com/31140 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>