aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
...
* 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>
* Add more tests for PolyUtilsGravatar Jim Van Verth2018-07-11
| | | | | | | | | | | | | | * Add fuzzer * Add bench tests * Add additional unit test * Fix some bugs these exposed. Bug: skia: Change-Id: I6c587c92cb6cff32ab8300020b78f9f247d2bf64 Reviewed-on: https://skia-review.googlesource.com/139169 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com> Reviewed-by: Robert Phillips <robertphillips@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>
* fix for persistent shader cacheGravatar Ethan Nicholas2018-07-11
| | | | | | | | Bug: skia: Change-Id: I43b4dc58ab4dde3fa8140de0d73134c38f7d79db Reviewed-on: https://skia-review.googlesource.com/140566 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Reland "Reland "Move Vulkan DebugCallback code into tools.""Gravatar Greg Daniel2018-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3148f802af419297c466e6bf5efc003b6c498f0a. Reason for revert: hopefully fuchsia is fixed Original change's description: > Revert "Reland "Move Vulkan DebugCallback code into tools."" > > This reverts commit be0ab883e796b190cd20a4b1cfaedea932f9e0bf. > > Reason for revert: fuchsia change reverted > > Original change's description: > > Reland "Move Vulkan DebugCallback code into tools." > > > > This reverts commit 05d3fe3f100b794abe3f99a770734057960d7da5. > > > > Reason for revert: relanding after fuchsia fixes are in > > > > Original change's description: > > > Revert "Move Vulkan DebugCallback code into tools." > > > > > > This reverts commit d4b2adeaa929edd1664754ac6621ec524992ef03. > > > > > > Reason for revert: Need to revert earlier changes cause of fucshia > > > > > > Original change's description: > > > > Move Vulkan DebugCallback code into tools. > > > > > > > > Bug: skia: > > > > Change-Id: Ib356200e86e54f9ff0ba16396874e6fd10cf0465 > > > > Reviewed-on: https://skia-review.googlesource.com/137424 > > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com > > > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > > > Bug: skia: > > > Change-Id: I38d4e71dc29c6503f92712be54e22c58956498c5 > > > Reviewed-on: https://skia-review.googlesource.com/137902 > > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: skia: > > Change-Id: Idb88f21018b9c0e23b62f0a5b12f0fab60373921 > > Reviewed-on: https://skia-review.googlesource.com/138300 > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com > > Change-Id: I40d5ba1067248066403f843c0739b885a2bfc834 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/138421 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: I5d24bb2df3bd9ecf6bb3870886114ef98478dc7a Reviewed-on: https://skia-review.googlesource.com/139001 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* implemented uploading intial texture data for metal gpu backendGravatar Timothy Liang2018-07-11
| | | | | | | | Bug: skia: Change-Id: I76c820beb9b29b230a2f7d82fe8b6b141eee43d7 Reviewed-on: https://skia-review.googlesource.com/139163 Commit-Queue: Timothy Liang <timliang@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* 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>
* refactored where texture descriptors are made for metal gpu backendGravatar Timothy Liang2018-07-11
| | | | | | | | Bug: skia: Change-Id: Ic90660b5ad5c1e795cd768bb7471e9ac80a59f47 Reviewed-on: https://skia-review.googlesource.com/138999 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Timothy Liang <timliang@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>
* propogate simple angles in pathopsGravatar Cary Clark2018-07-11
| | | | | | | | | | | | | | | | | | | | If an edge is unsortable, its winding value is untrustworthy; it cannot be added to the output on that alone. If one end adjoins a trusted edge, and that edge is added to the output, the untrusted edge can be added as well. Also add in msvs debugging for angles. With this change, all extended tests pass. TBR=reed@google.com Bug: skia:8125 Change-Id: I049c6efa2fa83edd7b49cdd598ec94c356481b0f Reviewed-on: https://skia-review.googlesource.com/140562 Commit-Queue: Cary Clark <caryclark@skia.org> Auto-Submit: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* 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 clamping of kPlus with F16 configsGravatar Brian Osman2018-07-11
| | | | | | | | | | | | | | | | | The most common use-case for F16 is to draw things that are explicitly outside of [0,1]. We can't prevent out-of-range values in general, users could just draw out-of-range content in src mode. We've decided that it's best to avoid surprising behavior, and trust the user in these situations. This effectively reverts https://skia-review.googlesource.com/c/skia/+/48183 Bug: skia: Change-Id: I71c2dd925c567e2862d96ab70c752f19245a69c4 Reviewed-on: https://skia-review.googlesource.com/140500 Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* 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>
* Reland "Reland "Make GrVkBackendContext no longer derive from SkRefCnt.""Gravatar Greg Daniel2018-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 007267bdb54d56ec978c97c6a6944afc2b6ff40b. Reason for revert: Hopefully fuchsia is fixed this time Original change's description: > Revert "Reland "Make GrVkBackendContext no longer derive from SkRefCnt."" > > This reverts commit 0db3a8846a4d05d55c36b7fa95fa6fbc1a6639cd. > > Reason for revert: fuchsia change reverted > > Original change's description: > > Reland "Make GrVkBackendContext no longer derive from SkRefCnt." > > > > This reverts commit 059a9ab4bcd07a4bfdbfef333c27ef3d277e0e46. > > > > Reason for revert: Fix landed in Fuchsia > > > > Original change's description: > > > Revert "Make GrVkBackendContext no longer derive from SkRefCnt." > > > > > > This reverts commit 93ae2337732bf206e6ef4faecc6b30c3881e8359. > > > > > > Reason for revert: <INSERT REASONING HERE> > > > > > > Original change's description: > > > > Make GrVkBackendContext no longer derive from SkRefCnt. > > > > > > > > Also moves the helper Create functions to VkTestUtils since no clients > > > > are using them anymore. > > > > > > > > Bug: skia: > > > > Change-Id: I7e8e4912e7ef6fb00a7e2a00407aed5e83211799 > > > > Reviewed-on: https://skia-review.googlesource.com/135323 > > > > Reviewed-by: Jim Van Verth <jvanverth@google.com> > > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com > > > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > > > Bug: skia: > > > Change-Id: If7201917631dc22753ea3fa6e9d2984463e38e4c > > > Reviewed-on: https://skia-review.googlesource.com/137903 > > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: skia: > > Change-Id: Ia4b7c0bb2c7b5dba809d85c69f0b41b473140526 > > Reviewed-on: https://skia-review.googlesource.com/138181 > > Reviewed-by: Greg Daniel <egdaniel@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com > > Change-Id: I3f7bc4a5e4e09512fe165303685c123ec3527e58 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/138422 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: I5705f1ae306707fe28559797e1bb8c2d57e12204 Reviewed-on: https://skia-review.googlesource.com/139000 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@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>
* Move SkRefSet / pipe code to smart pointer.Gravatar Ben Wagner2018-07-10
| | | | | | | | | This clarifies the ownership and simplifies the code. Change-Id: I18ce981aaabfdd4749a344276bd19d62aa2c3210 Reviewed-on: https://skia-review.googlesource.com/140350 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Ben Wagner <bungeman@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>
* Revert "Remove interpolants are inaccurate workaround for Adreno 3xx."Gravatar Brian Salomon2018-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a7a278205bb040061cb4ba46839efe18635c7edc. Reason for revert: Chrome change had to be reverted because of new failures on Nexus 9 and 6P. Original change's description: > Remove interpolants are inaccurate workaround for Adreno 3xx. > > The chrome screenshot unit test that led to adding this workaround has > been adjusted to avoid testing AA edges of rendered rectangles. We're > accepting the inaccuracy in favor of increased performance. > > Chrome change: https://chromium-review.googlesource.com/c/chromium/src/+/1129041 > > Bug: chromium:847984 > Change-Id: I9b714ade2a67e956ebb2773ebe3b8632dc3a50c6 > Reviewed-on: https://skia-review.googlesource.com/140180 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> > Auto-Submit: Brian Salomon <bsalomon@google.com> > Reviewed-by: Brian Osman <brianosman@google.com> TBR=bsalomon@google.com,brianosman@google.com Change-Id: Ic6b0e5a343556e59d144852f9fa5b561302f9781 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:847984 Reviewed-on: https://skia-review.googlesource.com/140380 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@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>
* Revert "switched from NUM_SHADER_BINARY_FORMATS to NUM_PROGRAM_BINARY_FORMATS"Gravatar Stan Iliev2018-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8fe31406e98062af447ff1e0511ab9bbdeed7638. Reason for revert: ToT master Android is broken starting with ab/4882993, which is the first build with this change (previous build ab/4882954 works fine). The device booted and worked initially, but after the first reboot all drawing is mangled or missing.It seems there is a problem with loading cached shaders. Original change's description: > switched from NUM_SHADER_BINARY_FORMATS to NUM_PROGRAM_BINARY_FORMATS > > Bug: b/110175245 > Change-Id: I6b843bc1e3c36bc32531705fc661788d4eef6d35 > Reviewed-on: https://skia-review.googlesource.com/140003 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,ethannicholas@google.com Change-Id: I35d388b3da1e3f421005d7b02ba1e0f0ede0ac84 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: b/110175245 Reviewed-on: https://skia-review.googlesource.com/140280 Reviewed-by: Stan Iliev <stani@google.com> Commit-Queue: Stan Iliev <stani@google.com>
* fix line intersect divide by zeroGravatar Cary Clark2018-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | Test filinmangust14 exposes two problems: - finding top of contour can expose divide by zero - joining partial contour results can add diagonal The latter makes the test return the wrong result, and has not been seen in other tests. The fix is to join disconnected contours by only following the contours provided as input. Working on that. The former bug is more straight-forward; just don't try to compute axis-aligned intersection if the denominator is zero. All existing tests prior to the new one work with this change. R=caryclark@google.com Bug: skia:8125 Change-Id: Ic878d090066708d9baca8475f27d4d5aba2294cc Reviewed-on: https://skia-review.googlesource.com/140121 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org> Auto-Submit: Cary Clark <caryclark@skia.org>
* 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>
* Deinline some GrPathRenderer method and one GrDrawingMananger method.Gravatar Brian Salomon2018-07-10
| | | | | | | | | | | | | | Removes circular dependencies from coming change. Some IWYU fallout from removing #includes from GrPathRenderer.h and GrDrawingManager.h Bug: skia: Change-Id: Ice377538e6d64b6a74a59e6140e1de9a58ab99bf Reviewed-on: https://skia-review.googlesource.com/140181 Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Remove interpolants are inaccurate workaround for Adreno 3xx.Gravatar Brian Salomon2018-07-10
| | | | | | | | | | | | | | | | The chrome screenshot unit test that led to adding this workaround has been adjusted to avoid testing AA edges of rendered rectangles. We're accepting the inaccuracy in favor of increased performance. Chrome change: https://chromium-review.googlesource.com/c/chromium/src/+/1129041 Bug: chromium:847984 Change-Id: I9b714ade2a67e956ebb2773ebe3b8632dc3a50c6 Reviewed-on: https://skia-review.googlesource.com/140180 Commit-Queue: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@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>
* switched from NUM_SHADER_BINARY_FORMATS to NUM_PROGRAM_BINARY_FORMATSGravatar Ethan Nicholas2018-07-09
| | | | | | | | Bug: b/110175245 Change-Id: I6b843bc1e3c36bc32531705fc661788d4eef6d35 Reviewed-on: https://skia-review.googlesource.com/140003 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>