aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/utils
Commit message (Collapse)AuthorAge
* handle closed dashed rectsGravatar Cary Clark2017-12-22
| | | | | | | | | | | | | | | If a closed rect is dashed, the dash continues around the initial join if the dash is 'on' when the rect starts and stops. For the cull path case, add a tiny right angle at the location of the initial join if needed. R=reed@google.com Bug: skia:7311 Change-Id: Id60b8e84b3a5fd6cde1b638dbaacdad57eba7f01 Reviewed-on: https://skia-review.googlesource.com/88201 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Cary Clark <caryclark@skia.org>
* Revert "Revert "long rect dash fix with guards""Gravatar Greg Daniel2017-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit fa6b6c2d1b613faf72071b99f4b404fa4ee5e076. Reason for revert: Looks like this was actually caused by another change but happen to fail a test that looked very related to this Original change's description: > Revert "long rect dash fix with guards" > > This reverts commit 93ceab1b59f06c828cf62aa6a700e7f81620f23d. > > Reason for revert: breaking layout test > > Original change's description: > > long rect dash fix with guards > > > > long rect dash with guards > > > > check dash fix back in with > > guards against changing > > chrome layout test results > > > > original change clipped against wrong rectangle > > some of the time, causing tiled drawing to fail. > > Always clip against outset rectangle. > > > > original CL: skia-review.googlesource.com/c/skia/+/84862 > > > > efficiently dash very large rectangles and very long lines > > Speed up dashing when lines and rects are absurdly large. > > > > Prior to this CL, only horizontal lines were detected. > > > > Also folded in a change to handle dashing of zero length lines. > > > > TBR=egdaniel@google.com > > Bug: skia:7311 > > Change-Id: Ic3c68ec8ea35d0597c892c3b26ba7bb077045990 > > Reviewed-on: https://skia-review.googlesource.com/87768 > > Reviewed-by: Cary Clark <caryclark@skia.org> > > Commit-Queue: Cary Clark <caryclark@skia.org> > > TBR=egdaniel@google.com,caryclark@skia.org > > Change-Id: I56ef771ccb281887d7381c2bd8a2553acbd30621 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia:7311 > Reviewed-on: https://skia-review.googlesource.com/88421 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,caryclark@skia.org Change-Id: Iecdd072544e6623bc4de8d5aab1402378112512d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7311 Reviewed-on: https://skia-review.googlesource.com/88424 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "long rect dash fix with guards"Gravatar Greg Daniel2017-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 93ceab1b59f06c828cf62aa6a700e7f81620f23d. Reason for revert: breaking layout test Original change's description: > long rect dash fix with guards > > long rect dash with guards > > check dash fix back in with > guards against changing > chrome layout test results > > original change clipped against wrong rectangle > some of the time, causing tiled drawing to fail. > Always clip against outset rectangle. > > original CL: skia-review.googlesource.com/c/skia/+/84862 > > efficiently dash very large rectangles and very long lines > Speed up dashing when lines and rects are absurdly large. > > Prior to this CL, only horizontal lines were detected. > > Also folded in a change to handle dashing of zero length lines. > > TBR=egdaniel@google.com > Bug: skia:7311 > Change-Id: Ic3c68ec8ea35d0597c892c3b26ba7bb077045990 > Reviewed-on: https://skia-review.googlesource.com/87768 > Reviewed-by: Cary Clark <caryclark@skia.org> > Commit-Queue: Cary Clark <caryclark@skia.org> TBR=egdaniel@google.com,caryclark@skia.org Change-Id: I56ef771ccb281887d7381c2bd8a2553acbd30621 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7311 Reviewed-on: https://skia-review.googlesource.com/88421 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* add serialprocs to MultiDocument, hide redundant methodsGravatar Mike Reed2017-12-21
| | | | | | | | | Bug: skia: Change-Id: I6521e93af79439bd8c1d2f5130a68492044a2ee9 Reviewed-on: https://skia-review.googlesource.com/87788 Reviewed-by: Wei Li <weili@chromium.org> Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Mike Reed <reed@google.com>
* long rect dash fix with guardsGravatar Cary Clark2017-12-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | long rect dash with guards check dash fix back in with guards against changing chrome layout test results original change clipped against wrong rectangle some of the time, causing tiled drawing to fail. Always clip against outset rectangle. original CL: skia-review.googlesource.com/c/skia/+/84862 efficiently dash very large rectangles and very long lines Speed up dashing when lines and rects are absurdly large. Prior to this CL, only horizontal lines were detected. Also folded in a change to handle dashing of zero length lines. TBR=egdaniel@google.com Bug: skia:7311 Change-Id: Ic3c68ec8ea35d0597c892c3b26ba7bb077045990 Reviewed-on: https://skia-review.googlesource.com/87768 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* Revert "long rect dash with guards"Gravatar Cary Clark2017-12-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4ad0c592ce830f17ff07052f20392caa700e9a53. Reason for revert: test fails in tiled case Original change's description: > long rect dash with guards > > check dash fix back in with > guards against changing > chrome layout test results > > original CL: skia-review.googlesource.com/c/skia/+/84862 > > efficiently dash very large rectangles and very long lines > Speed up dashing when lines and rects are absurdly large. > > Prior to this CL, only horizontal lines were detected. > > Also folded in a change to handle dashing of zero length lines. > > TBR=egdaniel@google.com > Bug: skia:7311 > Change-Id: I139b10f676e7ae06ad83aaf2a35d49cf06280a67 > Reviewed-on: https://skia-review.googlesource.com/87760 > Commit-Queue: Cary Clark <caryclark@skia.org> > Reviewed-by: Cary Clark <caryclark@skia.org> TBR=egdaniel@google.com,caryclark@skia.org Change-Id: Ifd35ddf395826a55c72e650470527d01740b6438 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7311 Reviewed-on: https://skia-review.googlesource.com/87841 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* long rect dash with guardsGravatar Cary Clark2017-12-20
| | | | | | | | | | | | | | | | | | | | | | check dash fix back in with guards against changing chrome layout test results original CL: skia-review.googlesource.com/c/skia/+/84862 efficiently dash very large rectangles and very long lines Speed up dashing when lines and rects are absurdly large. Prior to this CL, only horizontal lines were detected. Also folded in a change to handle dashing of zero length lines. TBR=egdaniel@google.com Bug: skia:7311 Change-Id: I139b10f676e7ae06ad83aaf2a35d49cf06280a67 Reviewed-on: https://skia-review.googlesource.com/87760 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* Revert "efficiently dash very large rectangles and very long lines"Gravatar Cary Clark2017-12-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1ad81981b0027e96ef0cecd78661ab2c22bdc4aa. Reason for revert: broke chrome layout tests Original change's description: > efficiently dash very large rectangles and very long lines > > Speed up dashing when lines and rects are absurdly large. > > Prior to this CL, only horizontal lines were detected. > > The onOnceBeforeDraw changes are there to make debugging easier. > > Also folded in a change to handle dashing of zero length lines. > > R=​reed@google.com, egdaniel@google.com > Bug: skia:7311 > Change-Id: Ia16fb124c7a78a5cc639e612fae29c879a37da1a > Reviewed-on: https://skia-review.googlesource.com/84862 > Commit-Queue: Cary Clark <caryclark@skia.org> > Reviewed-by: Mike Reed <reed@google.com> TBR=egdaniel@google.com,reed@google.com,caryclark@skia.org Change-Id: I5e8f04c54486f8cd1a931f6cade92feaaa4a7647 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7311 Reviewed-on: https://skia-review.googlesource.com/87282 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* Fix alpha contribution to tonal color.Gravatar Jim Van Verth2017-12-19
| | | | | | | | | | | Also adds a tonal color GM, a grayscale mode to shadowutils GM, and animated alpha to SampleAndroidShadows. Bug: skia: Change-Id: I1dcb5cab7e53ffa7a3bf1a07b6ebfed38df1a9ed Reviewed-on: https://skia-review.googlesource.com/85002 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* efficiently dash very large rectangles and very long linesGravatar Cary Clark2017-12-19
| | | | | | | | | | | | | | | | | Speed up dashing when lines and rects are absurdly large. Prior to this CL, only horizontal lines were detected. The onOnceBeforeDraw changes are there to make debugging easier. Also folded in a change to handle dashing of zero length lines. R=reed@google.com, egdaniel@google.com Bug: skia:7311 Change-Id: Ia16fb124c7a78a5cc639e612fae29c879a37da1a Reviewed-on: https://skia-review.googlesource.com/84862 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Mike Reed <reed@google.com>
* fix zero length dashed linesGravatar Cary Clark2017-12-15
| | | | | | | | | | | | targeted fix turns zero length line into very short line. R=egdaniel@google.com Bug: skia:7387 Change-Id: Ic2a809d30d722f4e8f51d9205666dc1476a10067 Reviewed-on: https://skia-review.googlesource.com/84661 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* Push much of the SkColorSpace_Base interface up to SkColorSpaceGravatar Brian Osman2017-12-12
| | | | | | | | | | | Some pieces still remain, but the next step looks less mechanical, so I wanted to land this piece independently. Bug: skia: Change-Id: Ie63afcfa08af2f6e4996911fa2225c43441dbfb2 Reviewed-on: https://skia-review.googlesource.com/84120 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* turn on extended Clang warnings on Windows tooGravatar Chris Dalton2017-12-04
| | | | | | | | | | Plus some small rearrangements of the various warning lists. Change-Id: Ied58f940341d69ddab971a529fd01b1e96b65641 Reviewed-on: https://skia-review.googlesource.com/67720 Commit-Queue: Chris Dalton <csmartdalton@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* clean up SkDeferredCanvasGravatar Mike Klein2017-11-27
| | | | | | | | | | To our knowledge it's not used. Its defer- mode in DM isn't even run on the bots. Change-Id: Ifebfa2a77bfed8370eb421d379697f04fa2c8608 Reviewed-on: https://skia-review.googlesource.com/76420 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Mike Klein <mtklein@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>
* 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>
* move parts of SkPoint to SkPointPrivGravatar Cary Clark2017-11-08
| | | | | | | | | | | | Move specialized SkPoint methods to SkPointPriv. Use constexpr and inline initialization where possible. R=reed@google.com,bsalomon@google.com Bug: skia: 6898 Change-Id: I01ec5186f010f2dc80c068c70d9cc352f3221338 Reviewed-on: https://skia-review.googlesource.com/68700 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com>
* remove SkThread, using std::thread insteadGravatar Mike Klein2017-10-30
| | | | | | | Change-Id: I871dd5eea4496e87c206b46d9eae81cb521b11ce Reviewed-on: https://skia-review.googlesource.com/65103 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Pass GrRenderTargetContext's GrColorSpaceInfo to SkShader and SkColorFilter.Gravatar Brian Salomon2017-10-25
| | | | | | | | | | | | | | Also to SkColorTo(Premul|Unpremul)GrColor4f. This can avoid cache lookups to find GrColorSpaceXforms as the xform pointer is stored in GrColorSpaceInfo after the first lookup. Also uses GrColorSpaceInfo to construct GrTextUtils::Paint. Bug: skia: Change-Id: Idf19d512a60d2269e6921c7fb54d93aee499a70d Reviewed-on: https://skia-review.googlesource.com/63660 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* remove dead code -- older than min picture versionGravatar Mike Reed2017-10-13
| | | | | | | | Bug: skia: Change-Id: I9bd3ed23debb4d0cbfff5417f34daf64b101ca2d Reviewed-on: https://skia-review.googlesource.com/59602 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Plumb more SkPaintFilterCanvas virtualsGravatar Florin Malita2017-10-12
| | | | | | | | | | SkNWayCanvas cannot support virtuals which imply one-to-one proxying, but SkPaintFilterCanvas can (and should). Change-Id: If966aa4ec3fcc79e6355a82cc299fd1877e4cf53 Reviewed-on: https://skia-review.googlesource.com/58842 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Revert[4] "guard old apis for querying byte-size of a bitmap/imageinfo/pixmap"Gravatar Mike Reed2017-10-03
| | | | | | | | | | This reverts commit 5a2e50edc51006ce91366e177a9d21a16775d7fd. Bug: skia: Change-Id: I8d28b5c07d90130e5a1653923740eaf189ecb954 Reviewed-on: https://skia-review.googlesource.com/53900 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Revert "Revert "guard old apis for querying byte-size of a ↵Gravatar Mike Reed2017-10-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bitmap/imageinfo/pixmap""" This reverts commit cd284c532376d16fcc4ed75baf3da65c3e4a2e95. Reason for revert: assert fired in SkMallocPixelRef.cpp:61: fatal error: "assert(info.computeByteSize(rowBytes) == info.getSafeSize(rowBytes))" google3 thinks it was from surface_rowbytes Original change's description: > Revert "Revert "guard old apis for querying byte-size of a bitmap/imageinfo/pixmap"" > > This reverts commit 809cbedd4b252be221b2ac3b4269d312fd8f53a0. > > Bug: skia: > Change-Id: I680d8daeeeeb15526b44c1305d8fb0c6bfa38e1d > Reviewed-on: https://skia-review.googlesource.com/52665 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Florin Malita <fmalita@chromium.org> TBR=fmalita@chromium.org,reed@google.com Change-Id: I41e3f7a3f791cc8183291847e783ed8a53bc91d2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/53802 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Revert "guard old apis for querying byte-size of a ↵Gravatar Mike Reed2017-10-02
| | | | | | | | | | | | bitmap/imageinfo/pixmap"" This reverts commit 809cbedd4b252be221b2ac3b4269d312fd8f53a0. Bug: skia: Change-Id: I680d8daeeeeb15526b44c1305d8fb0c6bfa38e1d Reviewed-on: https://skia-review.googlesource.com/52665 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Revert "guard old apis for querying byte-size of a bitmap/imageinfo/pixmap"Gravatar Jim Van Verth2017-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 88757dacd4f532a0f647c02ae0ee596d31ab5c68. Reason for revert: Still seems to be failing Chromium "telemetry_perf_unittests (with patch) on Android" on android_n5x_swarming_rel. Original change's description: > guard old apis for querying byte-size of a bitmap/imageinfo/pixmap > > Now with legacy behavior for allocpixels > > This was reverted, so the current CL is a "fix" on top of ... > https://skia-review.googlesource.com/c/skia/+/50980 > > Related update to Chrome (in preparation for this change) > https://chromium-review.googlesource.com/c/chromium/src/+/685719 > > Bug: skia: > Change-Id: I4b370ee7e95083ab27421f008132219c9c7b86e9 > Reviewed-on: https://skia-review.googlesource.com/51341 > Reviewed-by: Florin Malita <fmalita@chromium.org> > Commit-Queue: Mike Reed <reed@google.com> TBR=fmalita@chromium.org,reed@google.com Change-Id: I827a0ca1d1e3909e648fde3342cdb8601d34da8d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/52381 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* guard old apis for querying byte-size of a bitmap/imageinfo/pixmapGravatar Mike Reed2017-09-27
| | | | | | | | | | | | | | | | Now with legacy behavior for allocpixels This was reverted, so the current CL is a "fix" on top of ... https://skia-review.googlesource.com/c/skia/+/50980 Related update to Chrome (in preparation for this change) https://chromium-review.googlesource.com/c/chromium/src/+/685719 Bug: skia: Change-Id: I4b370ee7e95083ab27421f008132219c9c7b86e9 Reviewed-on: https://skia-review.googlesource.com/51341 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Revert "guard old apis for querying byte-size of a bitmap/imageinfo/pixmap"Gravatar Greg Daniel2017-09-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 98a6216b18b57c2f7a0d58f542c60503686aed69. Reason for revert: breaking the chrome roll. Looks like they may be writing data to create an image across all the row bytes and thus writing to unalloced data on the last row. Link to example failing bot: https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/539960 Original change's description: > guard old apis for querying byte-size of a bitmap/imageinfo/pixmap > > Previously we had size_t and uint64_t variations. > > The new (simpler) API always.. > - returns size_t, or 0 if the calculation overflowed > - returns the trimmed size (does not include rowBytes padding for the last row) > > Bug: skia: > Change-Id: I05173e877918327c7b207d2f7f1ab0db36892e2e > Reviewed-on: https://skia-review.googlesource.com/50980 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Florin Malita <fmalita@chromium.org> > Reviewed-by: Leon Scroggins <scroggo@google.com> TBR=mtklein@google.com,herb@google.com,scroggo@google.com,fmalita@chromium.org,reed@google.com Change-Id: I726f6ab1b36b14979ba6f37105e0a469b3f0dbc0 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/51262 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* guard old apis for querying byte-size of a bitmap/imageinfo/pixmapGravatar Mike Reed2017-09-26
| | | | | | | | | | | | | | | Previously we had size_t and uint64_t variations. The new (simpler) API always.. - returns size_t, or 0 if the calculation overflowed - returns the trimmed size (does not include rowBytes padding for the last row) Bug: skia: Change-Id: I05173e877918327c7b207d2f7f1ab0db36892e2e Reviewed-on: https://skia-review.googlesource.com/50980 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Add missing onDrawDrawable() overrides to utility canvasesGravatar Florin Malita2017-09-22
| | | | | | | | Change-Id: Ia5a7c523263e2c4744e0f3a743c6a4433760a4be Reviewed-on: https://skia-review.googlesource.com/49770 Reviewed-by: Stan Iliev <stani@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* remove dead code for STREAM_APIGravatar Mike Reed2017-09-20
| | | | | | | | Bug: skia: Change-Id: I5c5a65710af443c60a3d13fb309ce31309be7f74 Reviewed-on: https://skia-review.googlesource.com/49460 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Revert "use unique_ptr for stream api""Gravatar Mike Reed2017-09-16
| | | | | | | | | | This reverts commit 7031b247c9fe0cb8fa32129f9bc24fea2043cee2. Bug: skia: Change-Id: I24c34bbee703f02994be8e206bcb9c10b5427d84 Reviewed-on: https://skia-review.googlesource.com/47541 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "use unique_ptr for stream api"Gravatar Mike Reed2017-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 49f1f34438d3431f6d7e32847accd2ba96948a73. Reason for revert: broke win-chrome ../../third_party/skia/src/ports/SkFontMgr_win_dw.cpp(89): error C2228: left of '.release' must have class/struct/union ../../third_party/skia/src/ports/SkFontMgr_win_dw.cpp(89): note: type is 'SkStreamAsset *' ../../third_party/skia/src/ports/SkFontMgr_win_dw.cpp(89): note: did you intend to use '->' instead? Original change's description: > use unique_ptr for stream api > > Bug: skia:6888 > Change-Id: I3459b4913982a7cae1c0061697c82cc65ad9a2d8 > Reviewed-on: https://skia-review.googlesource.com/26740 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Mike Reed <reed@google.com> TBR=mtklein@chromium.org,mtklein@google.com,bungeman@google.com,reed@google.com Change-Id: Ic1e4af557317abd06b7f6b7f5056645df7e469f0 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:6888 Reviewed-on: https://skia-review.googlesource.com/47440 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* use unique_ptr for stream apiGravatar Mike Reed2017-09-15
| | | | | | | | Bug: skia:6888 Change-Id: I3459b4913982a7cae1c0061697c82cc65ad9a2d8 Reviewed-on: https://skia-review.googlesource.com/26740 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* make most of SkColorPriv.h privateGravatar Cary Clark2017-09-15
| | | | | | | | | | | | | created new file src/core/SkColorData.h for internal consumption. Note that many of the functions there are unused as well. Bug: skia: 6898 R: reed@google.com Change-Id: I25bfd5a9c21f53558c4ca65a77eb5d322d897c6d Reviewed-on: https://skia-review.googlesource.com/46848 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Cache the results of get_pixel_formats_to_tryGravatar Brian Osman2017-08-18
| | | | | | | | | | | | | | | | | | | | | Choosing pixel formats is quite slow (depending on driver?). We were doing this once per context, and it added up. On my desktop windows machine, this saves another 7 seconds in `dm --config gl --src gm`. Actual times: 37s -> 30s (not writing PNGs) 47s -> 39.5s (writing PNGs) We always called this with MSAA sample count set to zero, so I cleaned up the code to make that clearer. Also included a comment about the theoretical risk, although I think that outside of a multi-GPU system, we're fine. Bug: skia: Change-Id: I50927ebfaf6fe8d88a63674427fbf9e06e4ab059 Reviewed-on: https://skia-review.googlesource.com/35763 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Optimize the size of our JSONGravatar Brian Osman2017-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | Catapult (Chrome tracing) has a hard upper limit of 256 MB of JSON data. This is independent of the number of events, because V8 can't store a single string longer than that. Before these changes, longer traces (eg all GL GMs, which was my test case) would be much larger (306 MB). This CL includes four changes that help to reduce the text size: 1) Offset timestamps (saved 7.3 MB) 2) Limit timestamps and durations to 3 digits (saved 10.7 MB) 3) Shorten thread IDs (saved 7.2 MB) 4) Omit categories from JSON (saved 25.7 MB) Note that category filtering still works, this just prevents us from writing the categories to the JSON, which was of limited value. At this point, my 306 MB file is now 255.3 MB, and loads. Bug: skia: Change-Id: Iaafc84025ddd52904f1ce9c1c2e9cbca65113079 Reviewed-on: https://skia-review.googlesource.com/35523 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* Cache WGL extension function pointersGravatar Brian Osman2017-08-16
| | | | | | | | | | | | | | | | These took about 20 ms to look up, and we were doing so at least twice per sink. On my desktop windows machine, this saves 25 seconds when running dm --config gl --src gm Actual times dropped from 63s to 37s if not writing PNGs, or 71s to 46s if writing PNGs. Bug: skia: Change-Id: I22313791939e774290b702e58fec780f0b9c917e Reviewed-on: https://skia-review.googlesource.com/35422 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Replace SkFAIL with SK_ABORT.Gravatar Ben Wagner2017-08-16
| | | | | | | | | | | | SkFAIL is a legacy macro which is just SK_ABORT. This CL mechanically changes uses of SkFAIL to SK_ABORT in preparation for its removal. The related sk_throw macro will be changed independently, due to needing to actually clean up its users. Change-Id: Id70b5c111a02d2458dc60c8933f444df27d9cebb Reviewed-on: https://skia-review.googlesource.com/35284 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Make GrFragmentProcessor be non-refcounted and use std::unique_ptr.Gravatar Brian Salomon2017-08-11
| | | | | | | Change-Id: I985e54a071338e99292a5aa2f42c92bc115b4008 Reviewed-on: https://skia-review.googlesource.com/32760 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Revert "Revert "Support single line objects and arrays""Gravatar Brian Osman2017-08-10
| | | | | | | | | | This reverts commit a5a69cfb480b99747ddc272149d35c6302abf1bf. Bug: skia: Change-Id: I08475d96255b9df13e5c86e1ef9c7f4739e51459 Reviewed-on: https://skia-review.googlesource.com/33202 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Avoid errors about re-defining __STDC_FORMAT_MACROSGravatar Brian Osman2017-08-10
| | | | | | | | Bug: skia: Change-Id: I880e3d5a668743ac12fb0101baca637443e920b4 Reviewed-on: https://skia-review.googlesource.com/33082 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Revert "GrContext::dump that produces JSON formatted output""Gravatar Brian Osman2017-08-10
| | | | | | | | | | This reverts commit 0f450acd76fd58a2f7464f99869ed6afbfac303c. Bug: skia: Change-Id: I97428fbbc6d82bf8b186ec5fdbf1a939c00e4126 Reviewed-on: https://skia-review.googlesource.com/32726 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Support single line objects and arrays"Gravatar Brian Osman2017-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6a7d56fa0f7009be9df36774774f3c337d7c7760. Reason for revert: Earlier commit needs to be reverted for Chrome roll. Original change's description: > Support single line objects and arrays > > This is just a formatting nicety. The new caps dump has several large > arrays of structs, and keeping each object on one line makes them much > more readable. (It also limits the total length of the output, which > helps when scanning through). > > Example of the output, before and after this change: > https://gist.github.com/brianosman/872f33be9af49031023b791e7db0b1fb > > Bug: skia: > Change-Id: I0fe0c2241b0c7f451b0837500e554d0491126d5e > Reviewed-on: https://skia-review.googlesource.com/32820 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> TBR=bsalomon@google.com,brianosman@google.com Change-Id: I2b05cf79ca4804e5944f2eb3e17fe4be4d5af290 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/32860 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Support single line objects and arraysGravatar Brian Osman2017-08-09
| | | | | | | | | | | | | | | | This is just a formatting nicety. The new caps dump has several large arrays of structs, and keeping each object on one line makes them much more readable. (It also limits the total length of the output, which helps when scanning through). Example of the output, before and after this change: https://gist.github.com/brianosman/872f33be9af49031023b791e7db0b1fb Bug: skia: Change-Id: I0fe0c2241b0c7f451b0837500e554d0491126d5e Reviewed-on: https://skia-review.googlesource.com/32820 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Added SkJSONWriterGravatar Brian Osman2017-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a stand-alone helper class for writing properly structured JSON to an SkWStream. It currently solves two problems (although this CL only uses it in one context): 1) Performance. Writing out JSON this way is about 10x faster than using JSONCPP. For the large amounts of data generated by the tracing system, that's a big win. 2) Makes it easy to emit structured JSON from code that's not fully centralized. We'd like to spit out JSON that describes a GrContext, GrGpu, GrCaps, etc... Doing that with simple string manipulation is complex, and spreads this logic over all those functions. Using JSONCPP adds yet another (large) third party library dependency (that we only build into our own tools right now). This went through several revisions. I originally planned it as a stateful SkString wrapper, so the user could just build their JSON as a string. That's O(N^2), though, because SkString grows by a (small) constant amount. Even using a better growth strategy still means needing RAM for all the resulting text, which is usually pointless. This version has a constant memory cost, so writing huge amounts of JSON to disk (tracing a long DM run can emit 100's of MBs) doesn't stress resources. Bug: skia: Change-Id: Ia716524b246db0f97d332da60d2ce9903069e748 Reviewed-on: https://skia-review.googlesource.com/31204 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Remove last uses of SkTypeface::style() in Skia.Gravatar Ben Wagner2017-08-08
| | | | | | | | | | | The Lua typeface.getStyle now returns SkFontStyle. Dumping a glyph cache entry is now more accurate. SkTypeface::MakeFromTypeface now does a more accurate check. Change-Id: I6150636c8c674353bd0eed4d95aa0794d3919c39 Reviewed-on: https://skia-review.googlesource.com/32200 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Remove SkTypeface::Style from fuzzers and lua.Gravatar Ben Wagner2017-08-08
| | | | | | | Change-Id: I53be039e21a4c11ec3a4bc54c1424cd3e15afc6a Reviewed-on: https://skia-review.googlesource.com/31643 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* clang on windows supportGravatar Mike Klein2017-07-31
| | | | | | | | | | | | | | | | | 1) Run python bin/fetch-clang-win 2) Set clang_win = "../bin/clang_win" 3) ??? 4) Profit Most changes here are to pass the right -mfoo flags to Clang to enable advanced instruction sets, or fixed warning-as-errors. BUG=skia:2679 Change-Id: Ieed145d35c209131c7c16fdd3ee11a3de4a1a921 Reviewed-on: https://skia-review.googlesource.com/28740 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Compute correct bounds for DrawShadowRec.Gravatar Jim Van Verth2017-07-31
| | | | | | | | Bug: skia:6880 Change-Id: Ia8b94e52eec3feb5104d2351bf7a7e6f99101deb Reviewed-on: https://skia-review.googlesource.com/26370 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* remove unused SkPoint3 from SkColor.hGravatar Mike Reed2017-07-22
| | | | | | | | Bug: skia: Change-Id: Iba327a5604dc11525c4d8d0a535a7c417a1b8185 Reviewed-on: https://skia-review.googlesource.com/25961 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>