aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
Commit message (Collapse)AuthorAge
...
* Move to using pointers in simplifyDraw*Gravatar Herb Derby2018-07-12
| | | | | | | | | | Move to using pointers into buffers. This will allow multiple runs from blobs to share buffers. Change-Id: I6ebed2e490c5fe71077ddc921ead145ce17c5ebd Reviewed-on: https://skia-review.googlesource.com/141049 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Replace nearly all kRespect with kIgnoreGravatar Brian Osman2018-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | - Encoders and decoders always assume kIgnore. - They are less opinionated about F16 and color space, we just trust the color space that's passed in, and put that directly in the image (no sRGB encoding). - SkBitmap and SkPixmap read/write pixels functions were defaulting to kResepct, those are now always kIgnore. - Many other bits of plumbing are simplified, and I added a default of kIgnore to SkImage::makeColorSpace, so we can phase out that argument entirely. - Still need to add defaults to other public APIs that take SkTransferFunctionBehavior. - This makes gold think that we've dramatically changed the contents of all F16 images, but that's because it doesn't understand the (now linear) color space that's embedded. Once we triage them all once, they will work fine (and they'll look perfect in the browser). Bug: skia: Change-Id: I62fa090f96cae1b67d181ce14bd91f34ff2ed747 Reviewed-on: https://skia-review.googlesource.com/140570 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Use simple buffers instead of vectorsGravatar Herb Derby2018-07-12
| | | | | | | | | | Start using simple buffers, these will be used for multiple runs latter on. Change-Id: Iab0559d5a47eb5e54254a985051d5d25a91be69f Reviewed-on: https://skia-review.googlesource.com/140791 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* update SkColor4f::FromColor() to preserve transfer functionGravatar Mike Klein2018-07-12
| | | | | | | | | | | | This kills off some sRGB tables, and lots of call sites can now use SkColor4f::FromColor(). It doesn't seem important to keep this test. Change-Id: Ia79ec8ace45e80bbc7a1e33f560f59289e61b2fb Reviewed-on: https://skia-review.googlesource.com/141046 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com>
* Add SkTypeface::getVariationDesignParametersGravatar Ben Wagner2018-07-12
| | | | | | | | | This adds a way for users to query the axis parameters for a typeface. Change-Id: Idc2ac0d84bc7ae2ca484ae410cba5b01883418e5 Reviewed-on: https://skia-review.googlesource.com/137706 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Reed <reed@google.com>
* clean up some old busted color routinesGravatar Mike Klein2018-07-12
| | | | | | | | Change-Id: I6e1dcce0b1fd7e4a01dc44c07173e9742922d2c0 Reviewed-on: https://skia-review.googlesource.com/141044 Auto-Submit: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* update color management for color shadersGravatar Mike Klein2018-07-12
| | | | | | | | | Change-Id: I4d85ad9d02576dbdb9c50f38418b5e96ba6d4164 Reviewed-on: https://skia-review.googlesource.com/141042 Commit-Queue: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com>
* update mode color filter color managementGravatar Mike Klein2018-07-12
| | | | | | | | Change-Id: I2f371e279f45086ae8885c7206fefff3fbc8c941 Reviewed-on: https://skia-review.googlesource.com/140985 Auto-Submit: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* remove unused parts of SkModeColorFilterGravatar Mike Klein2018-07-12
| | | | | | | | | Change-Id: Iaa2d1087b3211ec427d8260fb6d7f80a87c5f480 Reviewed-on: https://skia-review.googlesource.com/140983 Commit-Queue: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com>
* remove unneeded scale from procsGravatar Mike Reed2018-07-12
| | | | | | | | Bug: skia: Change-Id: I85adbbaf0e9d7d23c3f07490a1d323c87e8aa4da Reviewed-on: https://skia-review.googlesource.com/140980 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Mike Reed <reed@google.com>
* fix color management of CPU drawVertices()Gravatar Mike Klein2018-07-12
| | | | | | | | | Convert to dst, not linear dst. Change-Id: I2e2701cd08180c3e82730cd4d71a80342f40ab07 Reviewed-on: https://skia-review.googlesource.com/140789 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Use new SkGlyphIDSet - v3Gravatar Herb Derby2018-07-12
| | | | | | | | | | | | | v1 - had problems with msan and unintialized glyphs. v2 - had problems with typefaces with no glyphs in them This adds a check to make sure there are glyphs in the font when going to uniquify. Change-Id: Id27fa4578be33da1e468b4652db19740ddcadfc6 Reviewed-on: https://skia-review.googlesource.com/140785 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Remove SkDrawFilter.Gravatar Ben Wagner2018-07-12
| | | | | | | | | Change-Id: I0204a9522e828c87bb7c6c20ae34ce51161442af Reviewed-on: https://skia-review.googlesource.com/137895 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* fix color management in sprite blitterGravatar Mike Klein2018-07-11
| | | | | | | | | | | Basically exactly the same as the SkImageShader CL. 441 diffs -> 360 diffs Change-Id: Ib0d5498d0a286a879ba39bdc28979b20881f4acb Reviewed-on: https://skia-review.googlesource.com/140573 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com>
* Reland "Make GPU cache invalidation SkMessageBus messages go to one GrContext."Gravatar Brian Salomon2018-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of f4c5bb9aba485aa47c27b15905d81992b7cf4707 Original change's description: > Make GPU cache invalidation SkMessageBus messages go to one GrContext. > > Makes it so the template param to SkMessageBus must implement: > bool shouldSend(uint32_t inboxID) const > > Updates all GPU backend message types to only go to the GrContext that > is adding a cache entry. > > Bug: skia: > Change-Id: I3e8a4eb90654b7b8ac57cac9fb508c0ef1d51058 > Reviewed-on: https://skia-review.googlesource.com/140220 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Reviewed-by: Jim Van Verth <jvanverth@google.com> Bug: skia: Change-Id: I8402bfe3ed0170c99936d47050458817030b473b Reviewed-on: https://skia-review.googlesource.com/140801 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove interal use of SkRefCnt_SafeAssign.Gravatar Ben Wagner2018-07-11
| | | | | | | | | | | | It turns out that SkDeviceProfile is no longer used and can just be deleted. The ResourceCacheTest and DebugGLTestContext are changed to use smart pointers where possible. This also clarifies the squirrelly part of the test. DebugGLTestContext is going away soon anyway. Change-Id: I95ef24afa58aa4d356429b93d4dec0d72e3fd827 Reviewed-on: https://skia-review.googlesource.com/140577 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* collapse parametric_{r,g,b} into parametric, remove _a and gamma_dstGravatar Mike Klein2018-07-11
| | | | | | | | | | | | | parametric_a and gamma_dst were unused outside of unit tests. In all other cases, we always use parametric_{r,g,b} together and always pass them the same argument. So we can collapse them into a single stage like gamma and to/from_srgb. Change-Id: I08cea896c7744f97b4f4bf9e029f5d643e45e177 Reviewed-on: https://skia-review.googlesource.com/140576 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com>
* Revert "Use new SkGlyphIDSet - v2"Gravatar Herb Derby2018-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0421083a447a8ab105d20c786f7d8377f30a6d5d. Reason for revert: fushia page fault Original change's description: > Use new SkGlyphIDSet - v2 > > Add bzero to make msan and valgrind happy. > > Change-Id: I9b4e2f2b8e690da4b4b920fef27d5a8854092219 > Reviewed-on: https://skia-review.googlesource.com/140563 > Reviewed-by: Mike Klein <mtklein@google.com> > Commit-Queue: Herb Derby <herb@google.com> TBR=mtklein@google.com,herb@google.com Change-Id: I4e5e16644cbf56b5ff0b21afd6f3962e3976a1da No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/140803 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Revert "Use simple buffers instead of vectors"Gravatar Herb Derby2018-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b188da121c1575caa6b0b9755e3f80a6b5e44611. Reason for revert: Patch on a rollback Original change's description: > Use simple buffers instead of vectors > > Start using simple buffers, these will be used for > multiple runs latter on. > > Change-Id: I8dadbed036b7a60d708c49b84bb5e3bb3710f704 > Reviewed-on: https://skia-review.googlesource.com/140578 > Reviewed-by: Mike Klein <mtklein@google.com> > Commit-Queue: Herb Derby <herb@google.com> TBR=mtklein@google.com,herb@google.com Change-Id: I51d9ad9bc0fd7efb93e5db4dc504d8dc31e7cfb4 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/140802 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Revert "Make GPU cache invalidation SkMessageBus messages go to one GrContext."Gravatar Brian Salomon2018-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f4c5bb9aba485aa47c27b15905d81992b7cf4707. Reason for revert: Accidentally submitted without CQ Original change's description: > Make GPU cache invalidation SkMessageBus messages go to one GrContext. > > Makes it so the template param to SkMessageBus must implement: > bool shouldSend(uint32_t inboxID) const > > Updates all GPU backend message types to only go to the GrContext that > is adding a cache entry. > > Bug: skia: > Change-Id: I3e8a4eb90654b7b8ac57cac9fb508c0ef1d51058 > Reviewed-on: https://skia-review.googlesource.com/140220 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Reviewed-by: Jim Van Verth <jvanverth@google.com> TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: Iadb667d8027341703d254325320ddaa528fb33a1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/140800 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Make GPU cache invalidation SkMessageBus messages go to one GrContext.Gravatar Brian Salomon2018-07-11
| | | | | | | | | | | | | | Makes it so the template param to SkMessageBus must implement: bool shouldSend(uint32_t inboxID) const Updates all GPU backend message types to only go to the GrContext that is adding a cache entry. Bug: skia: Change-Id: I3e8a4eb90654b7b8ac57cac9fb508c0ef1d51058 Reviewed-on: https://skia-review.googlesource.com/140220 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Jim Van Verth <jvanverth@google.com>
* Use simple buffers instead of vectorsGravatar Herb Derby2018-07-11
| | | | | | | | | | Start using simple buffers, these will be used for multiple runs latter on. Change-Id: I8dadbed036b7a60d708c49b84bb5e3bb3710f704 Reviewed-on: https://skia-review.googlesource.com/140578 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Whitespace FixupGravatar Hal Canary2018-07-11
| | | | | | | | Change-Id: I6c4c4b43dfa6b59832c63f8fcf43192b4973d88b Reviewed-on: https://skia-review.googlesource.com/140565 Commit-Queue: Mike Klein <mtklein@google.com> Auto-Submit: Hal Canary <halcanary@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* might as well use SkRasterPipeline::gamma tooGravatar Mike Klein2018-07-11
| | | | | | | | | | This is a pretty good speedup over parametric_* when we hit it. It's both less math and fewer stages to hop through. Change-Id: I97b6e6b6c290441238f0f61bea47786eacc2a9c7 Reviewed-on: https://skia-review.googlesource.com/140569 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "SkDEBUGF: use __VA_ARGS__"Gravatar Robert Phillips2018-07-11
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2267a092356d17f6444502dc92491485ccf24341. Reason for revert: It looks like Google 3 is failing to compile w/ this CL Original change's description: > SkDEBUGF: use __VA_ARGS__ > > Change-Id: I42a47e821ff7a7f6cec65b38a8216cabbf0acfce > Reviewed-on: https://skia-review.googlesource.com/139860 > Reviewed-by: Mike Klein <mtklein@google.com> > Commit-Queue: Hal Canary <halcanary@google.com> TBR=mtklein@google.com,halcanary@google.com,reed@google.com Change-Id: I3aab490f3d2fea103fc915ca01cb0e294df86739 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/140660 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Use new SkGlyphIDSet - v2Gravatar Herb Derby2018-07-11
| | | | | | | | | Add bzero to make msan and valgrind happy. Change-Id: I9b4e2f2b8e690da4b4b920fef27d5a8854092219 Reviewed-on: https://skia-review.googlesource.com/140563 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Herb Derby <herb@google.com>
* use from/to_srgbGravatar Mike Klein2018-07-11
| | | | | | | | | Change-Id: I256dd98e1e918943195772954bc114e54b9325cd Reviewed-on: https://skia-review.googlesource.com/140564 Commit-Queue: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com>
* SkDEBUGF: use __VA_ARGS__Gravatar Hal Canary2018-07-11
| | | | | | | Change-Id: I42a47e821ff7a7f6cec65b38a8216cabbf0acfce Reviewed-on: https://skia-review.googlesource.com/139860 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Reland "transform paint color to dst colorspace"Gravatar Mike Klein2018-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of 6eb36214461794626291a01c3150f7239e4a91a3 I've added an unbounded_uniform_color stage to allow lowp to keep working when colors are in range and to force floats when colors go out of range, most commonly in "narrow" config. Original change's description: > transform paint color to dst colorspace > > Hopefully I can start to knock off effects that need > to be converted to dst colorspace one at a time now. > > My rough list is, > - paint color <---- > - image shader > - sprite blitter > - gradients? > - mode color filter > - lighting color filter > - high contrast filter > - toSRGB color filter > > This change cuts the diffs between 8888 and srgb from > ~540 to ~500. > > I left myself a note about not being able to interpret null > to sRGB at a high level yet. That'd cause a ton of 8888 diffs, > and I think SkColorSpaceXformCanvas diffs too. > > Change-Id: Id66a63e0e92130927f267719aeccb8bbcd92973a > Reviewed-on: https://skia-review.googlesource.com/140244 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Mike Klein <mtklein@google.com> Change-Id: I56dbf3ad3547d668e4b41f3126ef61d70b295f7c Reviewed-on: https://skia-review.googlesource.com/140460 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove old lazy image decoding heuristic logicGravatar Brian Osman2018-07-11
| | | | | | | | | | | This led to removing a lot of transfer function behavior code. There is more that could be done, and we need to add in decoding to dst color space, but this CL is almost entirely mechanical. Change-Id: I91b2169f95aadcfaacdd2b9821bb1a01ce53f9a6 Reviewed-on: https://skia-review.googlesource.com/140349 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* added skeletal animation support to GPU backendGravatar Ruiqi Mao2018-07-11
| | | | | | | | | | Pulled from reverted CL: https://skia-review.googlesource.com/c/skia/+/139282 Bug: skia: Change-Id: Iad8e834aa5bbd085b2dee679cb343c5736c57907 Reviewed-on: https://skia-review.googlesource.com/140383 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Ruiqi Mao <ruiqimao@google.com>
* Revert "Use new SkGlyphIDSet"Gravatar Herb Derby2018-07-10
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 819f73c23cfd8471e1cbc77ee7c14d8150457765. Reason for revert: uninitialized memory - this is expected but Original change's description: > Use new SkGlyphIDSet > > Change-Id: I6b8080393a22a56577528f66630ad39372edf712 > Reviewed-on: https://skia-review.googlesource.com/140243 > Commit-Queue: Herb Derby <herb@google.com> > Reviewed-by: Mike Klein <mtklein@google.com> TBR=mtklein@google.com,herb@google.com Change-Id: I43e204520710738e9e8c84b0eb00260ca06fe6a2 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/140384 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Use new SkGlyphIDSetGravatar Herb Derby2018-07-10
| | | | | | | Change-Id: I6b8080393a22a56577528f66630ad39372edf712 Reviewed-on: https://skia-review.googlesource.com/140243 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Move SkWriteBuffer to smart pointers.Gravatar Ben Wagner2018-07-10
| | | | | | | | | | | The fields fFactorySet and fTFSet and their setting member functions are changed to use smart pointers instead of manually handling the reference counting. Change-Id: I7d8e9f3dff5a7b4770959c5cc143a3ac7289d108 Reviewed-on: https://skia-review.googlesource.com/140348 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Revert "transform paint color to dst colorspace"Gravatar Brian Osman2018-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6eb36214461794626291a01c3150f7239e4a91a3. Reason for revert: UBSAN/ASAN failures Original change's description: > transform paint color to dst colorspace > > Hopefully I can start to knock off effects that need > to be converted to dst colorspace one at a time now. > > My rough list is, > - paint color <---- > - image shader > - sprite blitter > - gradients? > - mode color filter > - lighting color filter > - high contrast filter > - toSRGB color filter > > This change cuts the diffs between 8888 and srgb from > ~540 to ~500. > > I left myself a note about not being able to interpret null > to sRGB at a high level yet. That'd cause a ton of 8888 diffs, > and I think SkColorSpaceXformCanvas diffs too. > > Change-Id: Id66a63e0e92130927f267719aeccb8bbcd92973a > Reviewed-on: https://skia-review.googlesource.com/140244 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Mike Klein <mtklein@google.com> TBR=mtklein@google.com,brianosman@google.com Change-Id: I31a17b6e70916c463d38488703cfade347c05f2b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/140382 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "added skeletal animation support to GPU backend"Gravatar Joe Gregorio2018-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d275ef501c8e6ea6444912e22c29e2d13a3dfb53. Reason for revert: Failing to compile on debian9. Original change's description: > added skeletal animation support to GPU backend > > Pulled from reverted CL: https://skia-review.googlesource.com/c/skia/+/138596 > > Bug: skia: > Change-Id: Ie07f1c76bae65c219ebe93d071bb19f1a30100c2 > Reviewed-on: https://skia-review.googlesource.com/139282 > Reviewed-by: Brian Osman <brianosman@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Ruiqi Mao <ruiqimao@google.com> TBR=robertphillips@google.com,brianosman@google.com,ruiqimao@google.com Change-Id: Ibc0da6ce16f078ff74a2c1bcab30750baff460f7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/140381 Reviewed-by: Joe Gregorio <jcgregorio@google.com> Commit-Queue: Joe Gregorio <jcgregorio@google.com>
* added skeletal animation support to GPU backendGravatar Ruiqi Mao2018-07-10
| | | | | | | | | | | Pulled from reverted CL: https://skia-review.googlesource.com/c/skia/+/138596 Bug: skia: Change-Id: Ie07f1c76bae65c219ebe93d071bb19f1a30100c2 Reviewed-on: https://skia-review.googlesource.com/139282 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Ruiqi Mao <ruiqimao@google.com>
* update (non-sprite) image shader color managementGravatar Mike Klein2018-07-10
| | | | | | | | | | | | | | | | | Just another little step... diffs down to ~450 from ~500. The A8 handling has changed a little, keeping the paint color in sRGB just to make the append_misc() logic a bit more streamlined. I may want to refactor things a little later so that I can get an easy signal to use to_srgb and from_srgb stages instead of sending them through the generic parametric stages. Change-Id: Iefff3206b06a3aa7d81f85fd169272b6ac9c20e0 Reviewed-on: https://skia-review.googlesource.com/140250 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* transform paint color to dst colorspaceGravatar Mike Klein2018-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Hopefully I can start to knock off effects that need to be converted to dst colorspace one at a time now. My rough list is, - paint color <---- - image shader - sprite blitter - gradients? - mode color filter - lighting color filter - high contrast filter - toSRGB color filter This change cuts the diffs between 8888 and srgb from ~540 to ~500. I left myself a note about not being able to interpret null to sRGB at a high level yet. That'd cause a ton of 8888 diffs, and I think SkColorSpaceXformCanvas diffs too. Change-Id: Id66a63e0e92130927f267719aeccb8bbcd92973a Reviewed-on: https://skia-review.googlesource.com/140244 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Make SkTypefacePlayback use smart pointers.Gravatar Ben Wagner2018-07-10
| | | | | | | | | | This clarifies the ownership of the typefaces as well as removes a use of SkRefCnt_SafeAssign which is currently a code smell. Change-Id: I8fec541f71f555c2182b77870979ece87b501901 Reviewed-on: https://skia-review.googlesource.com/140249 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Add field to directly pass glyphs when using glyph encodingGravatar Herb Derby2018-07-10
| | | | | | | Change-Id: Iad7c9d7a801c961d2c5965012af16659d55a371c Reviewed-on: https://skia-review.googlesource.com/140340 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Remove the SkGlyphRunInfo codeGravatar Herb Derby2018-07-10
| | | | | | | | | | | The SkGlyphRunInfo code caused most of the complication. Maintaining the various different indices became unwieldy. Change-Id: Ia0a1259338c8572c57bb11d2407f5709459e0c72 Reviewed-on: https://skia-review.googlesource.com/140001 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Expand testing of SkMatrix::decomposeScaleGravatar Robert Phillips2018-07-10
| | | | | | | | Bug: skia:7211 Change-Id: If03ad1d364b33e174d91010ca250cd6c2d2f67c2 Reviewed-on: https://skia-review.googlesource.com/140185 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Remove run list codeGravatar Herb Derby2018-07-10
| | | | | | | | | | Temporarily remove run list code to gut some overly complicated code. Change-Id: Ib12efc394c05dee391143b440b2fab5bba4f22ae Reviewed-on: https://skia-review.googlesource.com/139865 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Interpolate patch vertices in destination color spaceGravatar Brian Osman2018-07-09
| | | | | | | Change-Id: I4e1403eb63370f5e61283ed4a504fb352368adc0 Reviewed-on: https://skia-review.googlesource.com/139862 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* added caching of SkVerticesGravatar Ruiqi Mao2018-07-09
| | | | | | | | | | | | | | | SkVertices can now be "volatile", meaning they should not be cached. SkVertices is volatile by default if the argument is not given. Pulled from reverted CL: https://skia-review.googlesource.com/c/skia/+/138596 Docs-Preview: https://skia.org/?cl=139545 Bug: skia: Change-Id: I92cf832efe1c0aaa8f432eedde2678582dd2454e Reviewed-on: https://skia-review.googlesource.com/139545 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Ruiqi Mao <ruiqimao@google.com>
* Update SkSpan to match the standard more closelyGravatar Herb Derby2018-07-09
| | | | | | | Change-Id: Iba5a9c24a34d5a08618b9182b476121bf6ce5ef9 Reviewed-on: https://skia-review.googlesource.com/139863 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Herb Derby <herb@google.com>
* More workarounds on Windows Debug DLL crash.Gravatar Yong-Hwan Baek2018-07-09
| | | | | | | | | | | | | SkData and SkTextBlob overwrites delete operator in header file. Which causes crash on Windows Debug DLL Builds. Sample Solution can be found in https://github.com/DevHwan/SkiaDLLTest Bug: skia: Change-Id: I36bc9445f5cd17afdf852009a0695036ee18ecf0 Reviewed-on: https://skia-review.googlesource.com/139680 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Add color type to the image filter DAG's OutputPropertiesGravatar Brian Osman2018-07-06
| | | | | | | | | | | | Don't try to guess the pixel config to use for intermediates. Instead, just make the intermediates in the same color type (and space) as the final destination. This removes some no-longer-correct logic that was using sRGB configs, resulting in linear blending and precision loss. Change-Id: I627c47193a9f2889c3dc121170ff3e7d5d315fa0 Reviewed-on: https://skia-review.googlesource.com/139547 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Revert "Remove gCreateTypefaceDelegate.""Gravatar Ben Wagner2018-07-05
| | | | | | | | | | | This reverts commit 58a1605d2b9bab077f53b6a223f9e7ce1891d3ea. Try to make glyph paths as immutable as possible. Change-Id: Ibef920c4417304e37ca4d4384515e9e7fc31aabf Reviewed-on: https://skia-review.googlesource.com/139172 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Herb Derby <herb@google.com>