aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Sort all user-supplied rects before computeFastBoundsGravatar Brian Osman2017-05-13
| | | | | | | | | | | | | | | | https://codereview.chromium.org/908353002 fixed drawRect 2+ years ago, but drawOval and drawArc were still susceptible. This version ensures that all rects are sorted before we do the bounds check. Added a new makeSorted helper to simplify the code, and an assert to catch any future oversight. All other drawing functions compute their bounds rect in some way that already ensures it is sorted. Bug: skia: Change-Id: I8926b2dbe9d496d0876f1ac5313bd058ae4568b7 Reviewed-on: https://skia-review.googlesource.com/16702 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Switch ImageStorageAccess over to GrTextureProxiesGravatar Robert Phillips2017-05-12
| | | | | | | | | Split out of: https://skia-review.googlesource.com/c/10484/ (Omnibus: Push instantiation of GrTextures later (post TextureSampler)) Change-Id: I341de6ae121620d30e50bff21450878a18bdf4f2 Reviewed-on: https://skia-review.googlesource.com/16714 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Include non-legacy GrMeshDrawOps in GLPrograms test.Gravatar Brian Salomon2017-05-12
| | | | | | | | Bug: skia: Change-Id: Ifa0c3ffb5643c84ccdcb339fae75ea5d03a8451c Reviewed-on: https://skia-review.googlesource.com/16580 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* implement 4f for composeshaderGravatar Mike Reed2017-05-12
| | | | | | | | Bug: skia: Change-Id: I7ad0077345f7589528c89cd84d252539a1df6614 Reviewed-on: https://skia-review.googlesource.com/16703 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* fix SkJumperHSL blend modesGravatar Mike Klein2017-05-12
| | | | | | | | | | | | | | | I took a new, unprincipled approach here, which is to just mimic the legacy code path exactly (e.g. hue_modeproc in SkXfermode.cpp). This fixes how we handle alpha in these blend modes, and ought to be faster by avoiding the unpremul. BUG=skia:6621 Change-Id: I21635290985ff42d9421d2718f7a88cf44a85d7f Reviewed-on: https://skia-review.googlesource.com/16711 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* fix legacy/SkRasterPipeline SkHighContrastFilterGravatar Mike Klein2017-05-12
| | | | | | | Change-Id: I395be972abf571af79ccf6ed5917bf463fd2166d Reviewed-on: https://skia-review.googlesource.com/16709 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Modify SkEventTracer::SetInstance to fail rather than assert if a tracer has ↵Gravatar Brian Salomon2017-05-12
| | | | | | | | | | | | already been installed. Chromium usually calls SetInstance once per process. However, when run in single process more renderer threads will try to set the instance after the browser process already has done so. This allows them to fail gracefully without asserting. Bug: skia:6603 Change-Id: Ic8a35422d787335aa67eefc07d0658f0fbe73db4 Reviewed-on: https://skia-review.googlesource.com/16664 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Add new SkImageGenerator::getPixels() API, deprecate the oldGravatar Matt Sarett2017-05-12
| | | | | | | | | | | | This is fairly aggressive in that it will break any client that is currently using SkImageGenerator with kIndex8. I'm guessing that we don't have any clients doing that. Bug: skia:6620 Change-Id: Ifd16f5232bb3a9f759c225315c57492d917ed9ca Reviewed-on: https://skia-review.googlesource.com/16601 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Make GrRenderTarget[(Proxy)|(Context)]? advertise a "full scene aa type".Gravatar Brian Salomon2017-05-12
| | | | | | | | Bug: skia: Change-Id: I24549604e8305028e34e0022bfef992a8e8c33f7 Reviewed-on: https://skia-review.googlesource.com/16230 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* fold matrices together for tricolorGravatar Mike Reed2017-05-12
| | | | | | | | Bug: skia: Change-Id: Ic4ef679c6b5514f0fc7f895d71b5feeb812da53e Reviewed-on: https://skia-review.googlesource.com/16606 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Cleanup SkImageGenerator, add missing fns to GrBackendTextureImageGeneratorGravatar Brian Osman2017-05-12
| | | | | | | | | | | | No "real" API changes. TBR=reed@google.com Bug: skia: Change-Id: I08c29f76806388394938f204f2a50b2fd6ea8942 Reviewed-on: https://skia-review.googlesource.com/16662 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Pass alphaType to append_gamut_transform() to inform the clampGravatar Matt Sarett2017-05-12
| | | | | | | | | BUG=skia: Change-Id: I1a8aef36043d4091bffae95b0275fa7fa8a35c97 Reviewed-on: https://skia-review.googlesource.com/9441 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Split up opLists (take 3)Gravatar Robert Phillips2017-05-12
| | | | | | | | | | | | Reland of: https://skia-review.googlesource.com/c/11581/ (Split up opLists) https://skia-review.googlesource.com/c/13860/ (Make InstancedRendering more opList-splitting friendly) has landed so this should be good for another attempt. TBR=egdaniel@google.com Change-Id: I2a09729342bb035af3a16807c1895adbae432ade Reviewed-on: https://skia-review.googlesource.com/14186 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* refactor gradient stage namesGravatar Mike Klein2017-05-12
| | | | | | | | | | | | | | | | | | | | | | This is just a name refactor and I'm happy to delay it until we're done with the current wave of gradient CLs. The main ideas: - we use the "linear_gradient" stages for all gradients, so cut the "linear" and just call them "gradient"; - remind ourselves that the 2-stop stage requires even spacing, i.e. stops at 0 and 1. This name should harmonize with Herb's new general evenly spaced gradient stage, currently "evenly_spaced_linear_gradient", and after it lands and I rebase, "evenly_spaced_gradient" - remind ourselves which polar coordinate xy_to_polar_unit returns, the angle. Change-Id: I0fd0c8bd4c1ead7d2d0fff45a199d318b71f34ac Reviewed-on: https://skia-review.googlesource.com/16500 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* Revert "Evenly space gradient stage."Gravatar Mike Klein2017-05-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 892501d09bc8608704362235c73a59bb23a386b3. Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=721682 :( Original change's description: > Evenly space gradient stage. > > This seems like an experiment at this point because I don't know how to do > this kind of thing on arm. > > > Numbers from Skylake... > Before: > ./out/Release/nanobench --config srgb \ > --match gradient_linear_clamp_3color gradient_linear_clamp_hicolor -q 19:48:13 > Timer overhead: 36.7ns > ! -> high variance, ? -> moderate variance > micros bench > 439.92 ? gradient_linear_clamp_3color srgb > 2697.60 gradient_linear_clamp_hicolor srgb > 437.28 gradient_linear_clamp_3color_4f srgb > 2700.50 gradient_linear_clamp_hicolor_4f srgb > > > After: > micros bench > 382.35 gradient_linear_clamp_3color srgb > 593.49 gradient_linear_clamp_hicolor srgb > 382.36 gradient_linear_clamp_3color_4f srgb > 565.60 gradient_linear_clamp_hicolor_4f srgb > > > Numbers on my Mac Trashcan are about even; there is no > speedup or slowdown between master and this change. > > Change-Id: I04402452e23c0888512362fd1d6d5436cea61719 > Reviewed-on: https://skia-review.googlesource.com/15960 > Commit-Queue: Herb Derby <herb@google.com> > Reviewed-by: Mike Klein <mtklein@chromium.org> > TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,fmalita@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ic6a064c66686b6f238ca1417ba1abd9ce25de1b4 Reviewed-on: https://skia-review.googlesource.com/16660 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Fix Ubuntu-Clang-x86_64-Release-MiniGravatar Matt Sarett2017-05-11
| | | | | | | | | | Bug: skia: Change-Id: Iab3dbb007ae67b5d82a727cb1fd5ced6b10b325a Reviewed-on: https://skia-review.googlesource.com/16605 Reviewed-by: Matt Sarett <msarett@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Classify spot shadows for general shapesGravatar Jim Van Verth2017-05-11
| | | | | | | | | | | Add some simple checks so we can tell whether a shadow's umbra is completely covered by the occluder, partially covered, or less than halfway covered. Change-Id: I092281c4933bd0380946eb0fdd458ce04b0d713c Reviewed-on: https://skia-review.googlesource.com/16603 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Evenly space gradient stage.Gravatar herb2017-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This seems like an experiment at this point because I don't know how to do this kind of thing on arm. Numbers from Skylake... Before: ./out/Release/nanobench --config srgb \ --match gradient_linear_clamp_3color gradient_linear_clamp_hicolor -q 19:48:13 Timer overhead: 36.7ns ! -> high variance, ? -> moderate variance micros bench 439.92 ? gradient_linear_clamp_3color srgb 2697.60 gradient_linear_clamp_hicolor srgb 437.28 gradient_linear_clamp_3color_4f srgb 2700.50 gradient_linear_clamp_hicolor_4f srgb After: micros bench 382.35 gradient_linear_clamp_3color srgb 593.49 gradient_linear_clamp_hicolor srgb 382.36 gradient_linear_clamp_3color_4f srgb 565.60 gradient_linear_clamp_hicolor_4f srgb Numbers on my Mac Trashcan are about even; there is no speedup or slowdown between master and this change. Change-Id: I04402452e23c0888512362fd1d6d5436cea61719 Reviewed-on: https://skia-review.googlesource.com/15960 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* proposed: inclusive gradients, exclusive imagesGravatar Mike Klein2017-05-11
| | | | | | | | Change-Id: I5821f823a4c0df54d4388a2f455767f58ae646b8 Reviewed-on: https://skia-review.googlesource.com/16547 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* spin off: always clamp linear gradientsGravatar Mike Klein2017-05-11
| | | | | | | | | | | | | | | | | | While we're refactoring how gradients work it's going to be easier to centralized how and when we tile. - PS2 changed linear and radial in place to alwys clamp. - PS3 moved tiling to the base class, where it's even harder to screw up. Sweeps don't need but don't mind tiling. - PS4 clamps when iff evenly spaced PS4 has image diffs for only a few GMs that I'm not familiar with. If its logic reads as correct to you, they may be bug fixes? Change-Id: I5e37d6e88aaea898356d4c57db0cd5bf414c0295 Reviewed-on: https://skia-review.googlesource.com/16501 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Setup for another attempt to split up opListsGravatar Robert Phillips2017-05-11
| | | | | | | | | Split out of: https://skia-review.googlesource.com/c/14186 (Split up opLists (take 3)) Change-Id: Ifa600c88fb9185991d3197c7776c820f54c9bf0f Reviewed-on: https://skia-review.googlesource.com/16540 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Fix GPU text colors when color spaces are involvedGravatar Brian Osman2017-05-11
| | | | | | | | | | | | | 1) Only store GrColors in GrTextUtils::Paint. We still store premul and unpremul versions, but this is slightly clearer. 2) GrTextUtils::Paint also needs info from the render target context to linearize and transform the color to dst space. Bug: skia:6605 Change-Id: I6e12c55eafaecd2a090c82b4f56827401305bf3a Reviewed-on: https://skia-review.googlesource.com/16486 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove SkCrossContextImageData and all support codeGravatar Brian Osman2017-05-11
| | | | | | | | Bug: skia: Change-Id: I8eb8cef5456c05a8e314d8404698893c7af82d13 Reviewed-on: https://skia-review.googlesource.com/16368 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* remove TODO in SkGradientShader.cppGravatar Mike Klein2017-05-11
| | | | | | | | | | | | | | | As we have factored things, we _do_ need to map y. This matrix maps us back from dst to src space now, but not all the way to t. We let the subclass inject its own logic for x,y -> t. (Linear gradients do actually still do this by modifying the first matrix rather than appending another matrix for x,y -> t. But in general we cannot not map y here anymore.) Change-Id: I2f9a87c7b510269a8b218a0247cbff416fe8d6c9 Reviewed-on: https://skia-review.googlesource.com/16495 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Workaround for Intel 6xxx clear to opaque black bugGravatar Brian Salomon2017-05-11
| | | | | | | | Bug: skia: Change-Id: Id5e29b483c2b6f698219abfc5bbb2d858c4fc117 Reviewed-on: https://skia-review.googlesource.com/16427 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Fix transparent ambient shadowsGravatar Jim Van Verth2017-05-11
| | | | | | | | | Add a clamp value to indicate the percentage of the blurWidth to apply. Change-Id: I962dc57ed786fa67ed1606b1148f1b2c568025e5 Reviewed-on: https://skia-review.googlesource.com/16424 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Fix transparent ambient for perspective shadowsGravatar Jim Van Verth2017-05-11
| | | | | | | | | | | When splitting the long edges for the ambient code, I wasn't adding the corresponding triangle for the new point into the center region for transparent occluders. Change-Id: Ie2d1dcffbd701c0750d5da95e9d673b700a0e85a Reviewed-on: https://skia-review.googlesource.com/16492 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Add SkJpegEncoder and SkWebpEncoder to public APIGravatar Matt Sarett2017-05-11
| | | | | | | | | Bug: 713862 Change-Id: I05d8b3a506f817d63b0bc3ab3f9233e24bbe3be0 Reviewed-on: https://skia-review.googlesource.com/16233 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Add a way to force raster pipeline blitter.Gravatar Mike Klein2017-05-11
| | | | | | | | | | | | And add some Test/Perf bots to try it out! CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-SK_FORCE_RASTER_PIPELINE_BLITTER Change-Id: I56ea2285f9fec2e468fae89673a545a717ab0f49 Reviewed-on: https://skia-review.googlesource.com/16423 Reviewed-by: Eric Boren <borenet@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add some swizzle checks to vulkan backendGravatar Greg Daniel2017-05-11
| | | | | | | | Bug: skia: Change-Id: I9f5a5c1fda9cf26fc6479e1cd6d0e981e6991c8e Reviewed-on: https://skia-review.googlesource.com/16426 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* A8 fast path for raster clip masksGravatar Florin Malita2017-05-11
| | | | | | | | | | | | | | | | | | | When the clip mask is already A8, we don't need to convert explicitly. Before: 792.72 clipmask_a8 8888 After: 560.06 clipmask_a8 8888 BUG=skia:6005 Change-Id: I9a319df9a82edfc9b412787a36f037bbe82c2825 Reviewed-on: https://skia-review.googlesource.com/16420 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Remove comments referencing locked pixelsGravatar Leon Scroggins III2017-05-10
| | | | | | | | | | | | | Pixels no longer need to be locked. TBR=reed@google.com Bug: skia: 6481 Change-Id: I4b49f710add9134205d1520755b44bee308bd502 Reviewed-on: https://skia-review.googlesource.com/16113 Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Make SkCreateRasterPipelineBlitter() not fail.Gravatar Mike Klein2017-05-10
| | | | | | | | | | | | | | Mostly this is about extending the fallback in SkShader::appendStages() to cover more cases, and making sure subclasses call appendStages() so they can get the fallback, not onAppendStages() directly. We still need to watch for SkShader::makeContext() failing in the fallback itself, so sadly SkShader::appendStages() may still fail. Change-Id: I2314b234a24bdcecac401a385ce050d7fdf0a83e Reviewed-on: https://skia-review.googlesource.com/16369 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* sksl support for static ifs & switchesGravatar Ethan Nicholas2017-05-10
| | | | | | | | Bug: skia: Change-Id: Ic9e01a3a18efddb19bab26e92bfb473cad294fc1 Reviewed-on: https://skia-review.googlesource.com/16144 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* Unify ShadowUtils interfaceGravatar Jim Van Verth2017-05-10
| | | | | | | | Bug: skia: Change-Id: I116bec82783d297e91ef061217b5e61f7ff16a76 Reviewed-on: https://skia-review.googlesource.com/16371 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* use SkColorSpaceXformer in SkShader appendStages() fallbackGravatar Mike Klein2017-05-10
| | | | | | | | | | | | | We've been transforming the gamut after running the legacy shader, but now that we have SkColorSpaceXformer, we can transform the legacy shader into the dst color space instead. This should be both more correct and faster. Change-Id: If017048874e6cce46837d3ecbd88dfde503fd03a Reviewed-on: https://skia-review.googlesource.com/16373 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* clean up SkShader friendsGravatar Mike Klein2017-05-10
| | | | | | | | | | | | | | | Many SkShader subclasses are only friends to use makeColorSpace(). Our usual solution to this is to add a method on SkColorSpaceXformer that calls makeColorSpace() for us, so that only SkColorSpaceXformer needs to be a friend. Just a refactor. No image diffs. Change-Id: Icf952b739edf45f2fb8c0c35e353ef2866f4c5cc Reviewed-on: https://skia-review.googlesource.com/16370 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* add flag to hide deprecated clipopsGravatar Mike Reed2017-05-10
| | | | | | | | | | | | needs this to land first https://codereview.chromium.org/2877493002/# Bug: skia:3191 Change-Id: Iff5271064877c4e96353d3564464f513eaad0bb5 Reviewed-on: https://skia-review.googlesource.com/16365 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Fix alpha coverage for lerp_565 stage.Gravatar bungeman2017-05-10
| | | | | | | | | Like three gray with alpha blends and taking the max alpha. Change-Id: I104c84f784979030744127f8f66905ad9d1bdf0e Reviewed-on: https://skia-review.googlesource.com/15898 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Clean up shadow assert.Gravatar Jim Van Verth2017-05-10
| | | | | | | | | | | | | | | When drawing an analytic rrect shadow, the mask filter could pass the devRect into the drawOp. If we have a small scale that could make the radii less than SK_ScalarNearlyZero. We might also have a rect that we outset by a value less than SK_ScalarNearlyZero to the penumbra border. So the best we can check is that the the two radii are equal. Bug: skia:6608 Change-Id: I8bdafe089b302fbc5c9042ff30798d3688e9e781 Reviewed-on: https://skia-review.googlesource.com/16364 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Move all non-AA fill rect ops off of GrLegacyMeshDrawOp.Gravatar Brian Salomon2017-05-10
| | | | | | | | | This adds perspective to GrNewNonAAFillRectOp, renames it to GrNonAAFillRectOp, and deletes the previous version of that namespace. Change-Id: I20f35bf019f9c9105e6ec83dda11328451138109 Reviewed-on: https://skia-review.googlesource.com/15634 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* allow inf/nan in GrRect isect utility functions.Gravatar Brian Salomon2017-05-10
| | | | | | | | | | Separately we may want to determine why we get NaNs here in flutter. Bug: skia:6607 Change-Id: Id90fff1ccf487794d55dc011b1a2d176cedb931a Reviewed-on: https://skia-review.googlesource.com/16342 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Pre-clamp path toleranceGravatar Brian Osman2017-05-09
| | | | | | | | | | | | | GrDefaultPathRenderer was using GrPathUtils::worstCasePointCount, which clamped the tolerance. Then it built geometry with the unclamped value, leading to vertex overflow (found by canvas fuzzer). The new rule is if you use GrPathUtils, your tolerance must come from scaleToleranceToSrc. Bug: skia:6569 Change-Id: I851519db8e569e570c717033d697f3d4d3d787fb Reviewed-on: https://skia-review.googlesource.com/16234 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* void SkColorFilter::onAppendStages(...)Gravatar Mike Klein2017-05-09
| | | | | | | | | | | SkColorFilter::onAppendStages() can't actually fail today. Let's enforce that. This means the fallback is now used only for color filters that have not implemented onAppendStages(). Change-Id: Ica3939685694f6186727766b54914b9ba05ca68c Reviewed-on: https://skia-review.googlesource.com/16231 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* fix 565Gravatar Mike Klein2017-05-09
| | | | | | | | | Change-Id: Ibde5242dc4f66b720cb8be1e2d771ba88b12b496 Reviewed-on: https://skia-review.googlesource.com/16241 Commit-Queue: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@google.com> Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Create geometry shader modules in vulkan when using geom shadersGravatar Greg Daniel2017-05-09
| | | | | | | | | Looks like this was left off the original vulkan Geo shader change. Bug: skia: Change-Id: Iec1c09d6d7b347147e4237bad3e6b3eb4684154e Reviewed-on: https://skia-review.googlesource.com/15813 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Fixed distance field interpolation for gamma correct renderingGravatar Brian Osman2017-05-09
| | | | | | | | Bug: skia: Change-Id: I9037decfeb9b2ab673434bb3c4b7f55aca186d68 Reviewed-on: https://skia-review.googlesource.com/13872 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Added SkImage::MakeCrossContextFromEncodedGravatar Brian Osman2017-05-09
| | | | | | | | | | | | | | | Designed for Flutter's threading architecture, with an eye to being useful to other clients. Under the hood, uses a new image generator class to lazily wrap a texture for multiple GrContexts. Re-land of https://skia-review.googlesource.com/c/14180/ Bug: skia: Change-Id: I3dd382640629b79b3058f18fee68d043566e43e5 Reviewed-on: https://skia-review.googlesource.com/15895 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Add downsampling option to SkJpegEncoderGravatar Matt Sarett2017-05-09
| | | | | | | | Bug: 713862 Change-Id: Ibad6ecf836ccfd355499e1bace7bcd4ba772a97a Reviewed-on: https://skia-review.googlesource.com/15891 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* move set-text-matrix into privateGravatar Mike Reed2017-05-09
| | | | | | | | | | Had no external callers, and was poorly named. Bug: skia: Change-Id: I5bed6853e9aa3b31fa106a436a73297bf55f0503 Reviewed-on: https://skia-review.googlesource.com/16155 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Mike Reed <reed@google.com>