aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/shaders
Commit message (Collapse)AuthorAge
* Implement GrFragmentProcessor::clone() for lighting and perlin noise classesGravatar Brian Salomon2017-07-26
| | | | | | | Change-Id: I4c6d426f170711a06d833257422092bb4b9de20c Reviewed-on: https://skia-review.googlesource.com/26945 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Always postConcat() pipeline gradient matricesGravatar Florin Malita2017-07-25
| | | | | | | | | | | | | In order to unblock https://skia-review.googlesource.com/c/26564 & https://skia-review.googlesource.com/c/26427, switch all impls to use a single/atomic postConcat for the gradient matrix. This is much easier to guard than the changes above. Change-Id: Ib72dbc7b5a56a96390f4468fd12caf8b6a0e46ef Reviewed-on: https://skia-review.googlesource.com/26620 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* remove guard for tilingGravatar Mike Reed2017-07-24
| | | | | | | | Bug: skia: Change-Id: Ie8e4a6d209fc9623a30cac9f66b312c36876ac40 Reviewed-on: https://skia-review.googlesource.com/25940 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Revert "use rasterpipeline for filtering for very large images"Gravatar Mike Klein2017-07-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 97d4cf0e7eb15340b1f513ff8cfba4e55ee3acf2. Reason for revert: looks like this is breaking one cc unit test, LayerTreeHostScrollbarsPixelTest.HugeTransformScale, which appears to be a comparison against a golden .png. Original change's description: > use rasterpipeline for filtering for very large images > > Bug: skia: > Change-Id: I8d1c2fca1bf2ad94cdfbef32d068f47503ea1e03 > Reviewed-on: https://skia-review.googlesource.com/24140 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Mike Klein <mtklein@google.com> > Reviewed-by: Florin Malita <fmalita@chromium.org> TBR=mtklein@google.com,fmalita@chromium.org,reed@google.com Change-Id: Idc94873cca90a73fbd567b16ed2c45b961e76e85 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/25806 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* use rasterpipeline for filtering for very large imagesGravatar Mike Reed2017-07-22
| | | | | | | | | Bug: skia: Change-Id: I8d1c2fca1bf2ad94cdfbef32d068f47503ea1e03 Reviewed-on: https://skia-review.googlesource.com/24140 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Revert "Revert "Always use raster pipeline for radial gradients""Gravatar Florin Malita2017-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8b8b2244c3056cb4ee4f2ea30ff7876f0b4d2b99. Reason for revert: guard landed in g3 Original change's description: > Revert "Always use raster pipeline for radial gradients" > > This reverts commit 5a5207ae677f92f2055be1211237cbc913978e71. > > Reason for revert: suspect this is the reason for Google3 roll failure. > > First color mismatch. Expected ff0006f9, got ff0004fb > Expected output mismatch apps/cereal/skia_expected/radialGradient.png (3392 pixels) > > > Original change's description: > > Always use raster pipeline for radial gradients > > > > Change-Id: Id4c9ed45c28becf0e25ed9ff1b3380c7ca65aa4b > > Reviewed-on: https://skia-review.googlesource.com/25363 > > Reviewed-by: Mike Klein <mtklein@chromium.org> > > Commit-Queue: Florin Malita <fmalita@chromium.org> > > TBR=mtklein@chromium.org,mtklein@google.com,fmalita@chromium.org,reed@google.com > > Change-Id: I382a22f354d3c0a1465bd9c1555f226b0f1abb58 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://skia-review.googlesource.com/25441 > Reviewed-by: Mike Klein <mtklein@google.com> > Commit-Queue: Mike Klein <mtklein@google.com> TBR=mtklein@chromium.org,mtklein@google.com,fmalita@chromium.org,reed@google.com Change-Id: I1a53c98735e5b344d0c2a18800ec94520f328931 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/25660 Reviewed-by: Florin Malita <fmalita@google.com> Commit-Queue: Florin Malita <fmalita@google.com>
* Revert "Always use raster pipeline for radial gradients"Gravatar Mike Klein2017-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 5a5207ae677f92f2055be1211237cbc913978e71. Reason for revert: suspect this is the reason for Google3 roll failure. First color mismatch. Expected ff0006f9, got ff0004fb Expected output mismatch apps/cereal/skia_expected/radialGradient.png (3392 pixels) Original change's description: > Always use raster pipeline for radial gradients > > Change-Id: Id4c9ed45c28becf0e25ed9ff1b3380c7ca65aa4b > Reviewed-on: https://skia-review.googlesource.com/25363 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Florin Malita <fmalita@chromium.org> TBR=mtklein@chromium.org,mtklein@google.com,fmalita@chromium.org,reed@google.com Change-Id: I382a22f354d3c0a1465bd9c1555f226b0f1abb58 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/25441 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Always use raster pipeline for radial gradientsGravatar Florin Malita2017-07-20
| | | | | | | Change-Id: Id4c9ed45c28becf0e25ed9ff1b3380c7ca65aa4b Reviewed-on: https://skia-review.googlesource.com/25363 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Use raster pipeline for repeat/mirror radial gradientsGravatar Florin Malita2017-07-20
| | | | | | | | | | | | (reland of https://skia-review.googlesource.com/c/24283/) The legacy clamp specialization is still faster, but for repeat and mirror RP wins (at low color stop counts). Change-Id: I97a77188e912239f31e94600021b469ce7c40797 Reviewed-on: https://skia-review.googlesource.com/24742 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* sk_sp: act as if operator bool() not implicit.Gravatar Hal Canary2017-07-20
| | | | | | | Change-Id: Icd426a162ca0c778db7b3373efcb2c546da50273 Reviewed-on: https://skia-review.googlesource.com/22543 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Retry cleaning up SkLinearBitmapPipeline.Gravatar Mike Klein2017-07-20
| | | | | | | | | | | | | | | | | | This is mostly dead code. In order to make it truly dead, we need to opt drawing unpremul images into SkRasterPipelineBlitter. They had been handled by SkLinearBitmapPipeline, but can't be draw by SkBitmapProcLegacyShader. Drawing unpremul images is tested by the GM all_variants_8888, which gave us trouble last time around (serialize-8888 drew right, 8888 wrong) but now draws fine. I think this was probably also the root of the revert, drawing some unpremul image in Chrome's tests somewhere. Change-Id: I453f9df44ade807316935921cbae82961e2f08aa Reviewed-on: https://skia-review.googlesource.com/24862 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Assume HQ is handled by pipeline, delete legacy code-pathGravatar Mike Reed2017-07-20
| | | | | | | | | CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Bug: skia: Change-Id: If6f0d0a57463bf99a66d674e65a62ce3931d0116 Reviewed-on: https://skia-review.googlesource.com/24644 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Revert "Use raster pipeline for repeat/mirror radial gradients"Gravatar Florin Malita2017-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2f924b4b0e5d364d608e181da8270241038de6c9. Reason for revert: IOS nanobench crashes Original change's description: > Use raster pipeline for repeat/mirror radial gradients > > The legacy clamp specialization is still faster, but for repeat and > mirror RP wins (at low color stop counts). > > Change-Id: Ifef3eb5b3111b3741d3a033310a4cdb58e592247 > Reviewed-on: https://skia-review.googlesource.com/24283 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Florin Malita <fmalita@chromium.org> TBR=mtklein@google.com,herb@google.com,fmalita@chromium.org,reed@google.com Change-Id: I65db31b149b6b2507cbe470049f67774e3bf40a0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/24660 Reviewed-by: Florin Malita <fmalita@google.com> Commit-Queue: Florin Malita <fmalita@google.com>
* Use raster pipeline for repeat/mirror radial gradientsGravatar Florin Malita2017-07-19
| | | | | | | | | | The legacy clamp specialization is still faster, but for repeat and mirror RP wins (at low color stop counts). Change-Id: Ifef3eb5b3111b3741d3a033310a4cdb58e592247 Reviewed-on: https://skia-review.googlesource.com/24283 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* remove gather_i8, unify memory-touching contextsGravatar Mike Klein2017-07-18
| | | | | | | | | | | | | | | gather_i8 is now unused, so we can remove it. That in turn makes the ctable field of SkJumper_GatherCtx unused. After removing ctable, SkJumper_GatherCtx and SkJumper_PtrStride look identical, so I've now fused them into SkJumper_MemoryCtx, which will eventually be used by everything loading from, gathering from, or storing to memory. Change-Id: Ia882d2dbd54c9fcf9a8250a1ce83304389dd284a Reviewed-on: https://skia-review.googlesource.com/24085 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* guard references to SkColorTableGravatar Mike Reed2017-07-18
| | | | | | | | Bug: skia:6828 Change-Id: I0c8c78e70b118f51cb59dc45675e4ddcd4776108 Reviewed-on: https://skia-review.googlesource.com/24260 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Index8 is dead, remove guarded codeGravatar Mike Reed2017-07-17
| | | | | | | | | | Needs google3 to be updated before this can land. Bug: skia:6828 Change-Id: I2c16be13c6937ffa48768cc24f9f980171c824d6 Reviewed-on: https://skia-review.googlesource.com/23940 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove (now-dead) SK_LEGACY_SWEEP_GRADIENT codeGravatar Florin Malita2017-07-17
| | | | | | | | | | | Reland of https://skia-review.googlesource.com/c/17982 TBR= Change-Id: If29d60d60a45562715fddfaff56b1e694be13034 Reviewed-on: https://skia-review.googlesource.com/24042 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Purge cached SkPictureShader entries on shader deletionGravatar Florin Malita2017-07-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're currently adding picture shader cache entries to the resource cache, but we don't ever purge. To avoid exhausting the budget, add logic to associate cached entries with their owning picture shader, and purge when the shader is deleted. -- Side note -- The current cache key is K(pictureID, ...) so technically the cache entries are associated with the picture, not the shader. One could resonably argue we should only purge when the *picture* is deleted. Unfortunately, this doesn't work: the cache entries contain indirect refs to the picture (SkImageShader -> SkImage_Generated -> SkPictureImageGenerator -> SkPicture), so the picture is always kept alive. Associating the cache entries with the shader itself seems like a reasonable alternative, even if we give up some cache persistence in the process. Change-Id: Ia115dbb5ae627e5ee171da7c4430fecfd42f4292 Reviewed-on: https://skia-review.googlesource.com/23380 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Avoid unneeded picture shader color space transformsGravatar Florin Malita2017-07-13
| | | | | | | | | | Also update SkPictureImageFilter to use SkColorSpace::Equals instead of direct comparison. Change-Id: I434cd6d1afcb869d2a56601b72edf56d207d9868 Reviewed-on: https://skia-review.googlesource.com/23201 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Guard to remove kIndex_8_SkColorTypeGravatar Mike Reed2017-07-13
| | | | | | | | | Bug: skia:6828 Change-Id: Ia942a36abb18213184f8d436555a658270d97d47 Reviewed-on: https://skia-review.googlesource.com/22721 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* Remove dead gradient perspective codeGravatar Florin Malita2017-07-13
| | | | | | | | | | | The cool bit here is that Sk4fLinearGradient is now always fast, and never calls the slow base-class impl. This means we can rip out Sk4fGradientBase::{mapTs, shadeSpan4f, etc}. Change-Id: Id3788bc810873b2a209f66efa4187c84b3397e2f Reviewed-on: https://skia-review.googlesource.com/22366 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Add some raster pipeline perspective assertsGravatar Florin Malita2017-07-12
| | | | | | | | | | | | | | | | | | | | | I meant to add these when removing the guard, but since we landed without a guard, might as well do it now. A couple of things exposed by these asserts: 1) we need to also catch perspective in local matrices 2) we need to disallow burst mode with perspective Also tweak the predicate to hasPerspective() instead of explicit mask check. Change-Id: I099e5125fca52dccffca77c60fc800bbdf539b53 Reviewed-on: https://skia-review.googlesource.com/22483 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Clarify adjustMatrixAndAppendStages semanticsGravatar Florin Malita2017-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A false return from adjustMatrixAndAppendStages() currently means we'll attempt to create a legacy context wrapper stage. Only two gradient impls can return false, and they don't really want the same thing: 1) linear returns false when the stops are compressed, to get the "nice" legacy blend color behavior 2) two-point radial returns false when it cannot map the center points (degenerate matrix); in this case we prolly don't want to draw at all This setup made sense while we were retrofitting gradients with stages, but now that all of them support RP, it is confusing to sometimes get a legacy context wrapper even when we are specifically asked for stages. I propose we align the semantics with SkShader::onAppendStages(), such that a false return means "don't draw" rather than "try to draw with a legacy context". This means we're giving up the compressed stop behavior for linear, but that's such an arbitrary corner case that I don't think we care at all. Change-Id: I01256c4acb81b16fb68e6c74cf8d91ea77b95a3b Reviewed-on: https://skia-review.googlesource.com/22541 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Devolve SkTwoPointConicalGradient to SkRadialGradient when possibleGravatar Florin Malita2017-07-11
| | | | | | | | | | Blink attempts this optimization explicitly, but Skia seems like a better home for it. Change-Id: I2ecd8d0b4e91fbd9be6f89005319b2d9f04836ba Reviewed-on: https://skia-review.googlesource.com/21821 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* add stages for black and white colorsGravatar Mike Reed2017-07-06
| | | | | | | | | | | | | | histogram of test skps: black: 1/7 white: 2/7 other: 4/7 Bug: skia: Change-Id: I3a092899d31ce87837e66e5c8ea9ec5e0f239361 Reviewed-on: https://skia-review.googlesource.com/21408 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Reed <reed@google.com>
* GR_TEST_UTILS fixesGravatar Brian Salomon2017-07-06
| | | | | | | | | | | | | | Fixes build of Skia lib when GR_TEST_UTILS=0 Makes GR_TEST_UTILS=0 for official builds Makes "Mini" builder bot exercise building GPU with is_official_build=true Bug: skia:6786 Change-Id: I6186683a3a216d2e779645bd9e8276a66bcff4d5 Reviewed-on: https://skia-review.googlesource.com/21524 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Disallow burst context instantiation for non-invertible CTMsGravatar Florin Malita2017-07-05
| | | | | | | | | | | | Similar to SkShaderBase::makeContext(), catch this condition and bail early. BUG=chromium:738682 Change-Id: I4c7a2036bed8ab8699023c4f8f3bc2161de0c41d Reviewed-on: https://skia-review.googlesource.com/21521 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* consolidate logic for matrix stageGravatar Mike Reed2017-07-04
| | | | | | | | Bug: skia: Change-Id: Id1559b31692a1aed9aa4d15620b2019ae9c7c22b Reviewed-on: https://skia-review.googlesource.com/21404 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Handle degenerate 2pt conical center values gracefullyGravatar Florin Malita2017-07-03
| | | | | | | | | | | | | SkMatrix::setPolyToPoly() may fail to map degenerate values. Handle this case explicitly, instead of assuming it never fails. BUG=chromium:738746 TBR= Change-Id: Ie1049b98f7e07ae5d6bdb706ba7b4a399388e5d8 Reviewed-on: https://skia-review.googlesource.com/21375 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Delete non-raster-pipeline SkTwoPointConicalGradient implGravatar Florin Malita2017-06-30
| | | | | | | | Change-Id: If39a2b01d6099fef14695a4ce05b57a3d5c3d99c Reviewed-on: https://skia-review.googlesource.com/21320 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Speculative "fix" for crash in analyzeProcessorsGravatar Robert Phillips2017-06-30
| | | | | | | | | | | | | | From the bug it looks like a null fragment processors may be getting into the processor set. This CL tries to plug any gaps in our fragmentProcessor handling. The only real substantive part to this CL is the addition of some "if (!fp) { return nullptr; }" blocks. Everything else is just to add chokepoints for processor allocation. Bug: 734076 Change-Id: I4952b1a05bc6690d5aa09de977fa6dc54c80338a Reviewed-on: https://skia-review.googlesource.com/21267 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* remove unreachable samples for non-N32 imageshadersGravatar Mike Reed2017-06-29
| | | | | | | | | | CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Bug: skia: Change-Id: I2d9a22b22d72c81a742b8fd497797bff8174915b Reviewed-on: https://skia-review.googlesource.com/21264 Commit-Queue: Eric Boren <borenet@google.com> Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Always use raster pipeline for SkTwoPointConicalGradientGravatar Florin Malita2017-06-29
| | | | | | | Change-Id: I14fc27c5ba8d6fd58df193a172148b7f5aca20bf Reviewed-on: https://skia-review.googlesource.com/21262 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* remove filterSpan from SkColorFilterGravatar Mike Reed2017-06-29
| | | | | | | | | | Bug: skia: Change-Id: Ie8a31ea8131c08d251a825622484342e3e174474 Reviewed-on: https://skia-review.googlesource.com/21207 Commit-Queue: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* 2pt conical stage for focal-point-outside caseGravatar Florin Malita2017-06-29
| | | | | | | | | | | | | | | | | A couple of annoyances here: 1) the prev vector_scale stage is not usable for masking, as NaN values can propagate through => switch to actual masking 2) for the outside case, we must select the min root when the gradient is flipped => split into two templated stages (_min, _max) (I'm not convinced that we need to flip the gradient for RP at all; we can investigate later) Change-Id: I0283812d613a53124f2987d1aea1f26e4533655e Reviewed-on: https://skia-review.googlesource.com/21162 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* remove unused flag SK_SUPPORT_LEGACY_COLORFILTER_FILTERSPANGravatar Mike Reed2017-06-29
| | | | | | | | Bug: skia: Change-Id: I884f79f9a162f38365930d1ccca889fca2850557 Reviewed-on: https://skia-review.googlesource.com/21202 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* add guard for handling swizzles via rasterpipelineGravatar Mike Reed2017-06-28
| | | | | | | | Bug: skia: Change-Id: I26499659c15bf79a840246a2eb6eb064e43b4c32 Reviewed-on: https://skia-review.googlesource.com/21163 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* 2pt conical stage for focal-pt-on-edge caseGravatar Florin Malita2017-06-28
| | | | | | | | | | | | | | | | | | | When the focal point is on the edge of the end circle, the quadratic equation devolves to linear. Add a stage to handle this case. As a complication, this case can produce "degenerate" values: 1) t == NaN 2) R(t) < 0 For these, we're supposed to draw transparent black - which means overwriting the color from the gradient stage. To support this, build a 0/1 vector mask in the context, and apply it post-gradient-stage. Change-Id: Ice4e3243abfd8c784bb810f6c310aed7a4ac7dc8 Reviewed-on: https://skia-review.googlesource.com/21111 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Klein <mtklein@google.com>
* 2ptconical stageGravatar Florin Malita2017-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | Initial impl, for the well-behaved case (focal point inside). MBP numbers - Before: 3365.87 ! gradient_conical_clamp_shallow srgb 3590.88 ! gradient_conical_clamp_shallow_dither srgb 3376.91 ! gradient_conical_clamp_3color srgb 3351.64 ! gradient_conical_clamp_hicolor srgb 3379.35 ! gradient_conical_clamp srgb After: 648.93 ! gradient_conical_clamp_shallow srgb 665.12 ! gradient_conical_clamp_shallow_dither srgb 773.98 ! gradient_conical_clamp_3color srgb 1175.35 ! gradient_conical_clamp_hicolor srgb 619.17 ! gradient_conical_clamp srgb Change-Id: I07b22a758363e1f340a6041bca53bdef74229eb9 Reviewed-on: https://skia-review.googlesource.com/20906 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* add bgra as 1st class formatGravatar Mike Klein2017-06-27
| | | | | | | | | | | | This is a start to eliminating swap_rb as a stage. I've just hit the main hot spots here. Going to look into the ~dozen other spots to see how they should work next. Change-Id: I26fb46a042facf7bd6fff3b47c9fcee86d7142fd Reviewed-on: https://skia-review.googlesource.com/20982 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* 2pt conical stage for concentric caseGravatar Florin Malita2017-06-27
| | | | | | | | | | If the circles are concentric, we can use the radial stage and post-massage t with a 2x3 stage. Change-Id: I744bc889d509d5f9ff162c179e8ec7ca35410e3c Reviewed-on: https://skia-review.googlesource.com/20972 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Revert "Remove deadcode for sRGB image shading."Gravatar Mike Reed2017-06-26
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit 51f6a0f89e55b2c0f102aa7963320a23c586e71d. Reason for revert: try to fix chrome roll Original change's description: > Remove deadcode for sRGB image shading. > > Change-Id: I9d98da67d97b64ab55cf44b9ae447882dccda1ca > Reviewed-on: https://skia-review.googlesource.com/20695 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Herb Derby <herb@google.com> TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,reed@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I90409a08409177d9dc3b094d736af0fdaf7d6cdd Reviewed-on: https://skia-review.googlesource.com/20824 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Revert "Remove deadcode for sRGB image shading.""Gravatar Mike Reed2017-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e08e639063dd5476b5a1a24c0f0dc8f1139bfd8d. Reason for revert: revert was not clean Original change's description: > Revert "Remove deadcode for sRGB image shading." > > This reverts commit 51f6a0f89e55b2c0f102aa7963320a23c586e71d. > > Reason for revert: crazy attempt to fix chrome roll > > Original change's description: > > Remove deadcode for sRGB image shading. > > > > Change-Id: I9d98da67d97b64ab55cf44b9ae447882dccda1ca > > Reviewed-on: https://skia-review.googlesource.com/20695 > > Reviewed-by: Mike Klein <mtklein@chromium.org> > > Commit-Queue: Herb Derby <herb@google.com> > > TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,reed@google.com > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Change-Id: Icab02936d6c18e50b8de353aa1cd4c225e15e0bf > Reviewed-on: https://skia-review.googlesource.com/20800 > Reviewed-by: Mike Reed <reed@google.com> TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,reed@google.com Change-Id: Ibc579a5a95e78cb257e8d443dbb905db3761e84a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/20802 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Remove deadcode for sRGB image shading."Gravatar Mike Reed2017-06-25
| | | | | | | | | | | | | | | | | | | | | | This reverts commit 51f6a0f89e55b2c0f102aa7963320a23c586e71d. Reason for revert: crazy attempt to fix chrome roll Original change's description: > Remove deadcode for sRGB image shading. > > Change-Id: I9d98da67d97b64ab55cf44b9ae447882dccda1ca > Reviewed-on: https://skia-review.googlesource.com/20695 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Herb Derby <herb@google.com> TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,reed@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: Icab02936d6c18e50b8de353aa1cd4c225e15e0bf Reviewed-on: https://skia-review.googlesource.com/20800 Reviewed-by: Mike Reed <reed@google.com>
* use rasterpipeline for colorfiltersGravatar Mike Reed2017-06-25
| | | | | | | | Bug: skia: Change-Id: Ia0e88f3ae29d026843ac7beb2aee3c891123ce18 Reviewed-on: https://skia-review.googlesource.com/20773 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "speculative fix for chrome roll"Gravatar Mike Reed2017-06-24
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4220a929f881de79420eb3551653848678666c13. Reason for revert: did not seem to help chrome Original change's description: > speculative fix for chrome roll > > Bug: skia: > Change-Id: Ib1d7d0839093a4ced89f591bc329bbd3adc635f8 > Reviewed-on: https://skia-review.googlesource.com/20768 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> TBR=reed@google.com Change-Id: I1906664ebf4aae8bc61bd410a74231bce3f4b562 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/20782 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* speculative fix for chrome rollGravatar Mike Reed2017-06-24
| | | | | | | | Bug: skia: Change-Id: Ib1d7d0839093a4ced89f591bc329bbd3adc635f8 Reviewed-on: https://skia-review.googlesource.com/20768 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* disable optimization (for now) for androidGravatar Mike Reed2017-06-24
| | | | | | | | Bug: skia: Change-Id: I5e66d6f0a1aede5239b5a51a8b51283cede2be93 Reviewed-on: https://skia-review.googlesource.com/20781 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove deadcode for sRGB image shading.Gravatar Herb Derby2017-06-23
| | | | | | | Change-Id: I9d98da67d97b64ab55cf44b9ae447882dccda1ca Reviewed-on: https://skia-review.googlesource.com/20695 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Herb Derby <herb@google.com>