e3429e62b0d020b27de3daa55893953eff581c4f |
|
19-Jan-2018 |
Mike Reed <reed@google.com> |
rename inner AsFPArgs to stand-alone GrFPArgs This prepares us to share this with other effects (most notably maskfilters) Bug: skia: Change-Id: I12530fdf10c4e5f2a9ab6d394bf9e87c54ea60c4 Reviewed-on: https://skia-review.googlesource.com/97062 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
d3b743a4517c83cef6c1c83667373e0d09133b07 |
|
09-Jan-2018 |
Yuqian Li <liyuqian@google.com> |
Remove legacy 2pt conical gradient Bug: skia:7459 Change-Id: Iccc2588f80e22b13ed5d23656b8c75d7b7058a36 Reviewed-on: https://skia-review.googlesource.com/92700 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Yuqian Li <liyuqian@google.com>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
d208a8847777d4643188813f03a15dfed4887365 |
|
04-Jan-2018 |
Yuqian Li <liyuqian@google.com> |
Update 2pt conical gradient in raster pipeline The updated algorithm matches our new GPU algorithm (https://skia.org/dev/design/conical) and it brings about 7%-26% speedup. In the next CL, I'll simplify the GPU code by reusing the CPU code in this CL. 7.20% faster in gradient_conical_clamp_hicolor 8.94% faster in gradient_conicalZero_clamp_hicolor 10.00% faster in gradient_conicalOut_clamp_hicolor 11.72% faster in gradient_conicalOutZero_clamp_hicolor 13.62% faster in gradient_conical_clamp_3color 16.52% faster in gradient_conicalZero_clamp_3color 17.48% faster in gradient_conical_clamp 17.70% faster in gradient_conical_clamp_shallow 20.60% faster in gradient_conicalOut_clamp_3color 20.98% faster in gradient_conicalOutZero_clamp_3color 21.79% faster in gradient_conicalZero_clamp 22.48% faster in gradient_conicalOut_clamp 26.13% faster in gradient_conicalOutZero_clamp Bug: skia: Change-Id: Ia159495e1c77658cb28e48c9edf84938464e501c Reviewed-on: https://skia-review.googlesource.com/90262 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
7741c75152658d0297eafd0a8bb8aa36dce26d4d |
|
11-Dec-2017 |
Yuqian Li <liyuqian@google.com> |
Use first/second instead of min/max in 2pt conical gradient Here's the tiny performance gain: $python tools/calmbench/calmbench.py firstsecond --extraarg "-m conic" firstsecond (compared to master) is likely 4.23% faster in gradient_conicalOut_clamp_3color 4.23% faster in gradient_conicalOutZero_clamp_3color 4.79% faster in gradient_conical_clamp_shallow_dither 6.04% faster in gradient_conical_clamp_3color 6.04% faster in gradient_conicalZero_clamp_3color 6.42% faster in gradient_conicalOut_clamp 6.43% faster in gradient_conicalOutZero_clamp 6.74% faster in gradient_conical_clamp 6.98% faster in gradient_conical_clamp_shallow 6.98% faster in gradient_conicalZero_clamp Bug: skia: Change-Id: Id74866908b99753ed8b16a657d3f67c9255d0043 Reviewed-on: https://skia-review.googlesource.com/76561 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
39d71dec606781037839faf49a9be25be7560bf1 |
|
31-Oct-2017 |
Florin Malita <fmalita@chromium.org> |
Don't store legacy colors in gradient shaders We only pass linear/4f colors to the ctor, and then derive the legacy colors from them. Might as well just derive when needed. Change-Id: I82b3d159da91f6faa4a3e7d681763c0ec1cdab07 Reviewed-on: https://skia-review.googlesource.com/65680 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
d4e9ec86cf934107cc441f651ee2429078188d02 |
|
26-Oct-2017 |
Florin Malita <fmalita@chromium.org> |
Delete GradientShaderCache Dead code. Change-Id: If415e603b8e898da72ad95f32596445900794d23 Reviewed-on: https://skia-review.googlesource.com/63562 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
4cbb6e6d551e8bea2c040b1aa9dce253cffb9af0 |
|
25-Oct-2017 |
Brian Salomon <bsalomon@google.com> |
Pass GrRenderTargetContext's GrColorSpaceInfo to SkShader and SkColorFilter. Also to SkColorTo(Premul|Unpremul)GrColor4f. This can avoid cache lookups to find GrColorSpaceXforms as the xform pointer is stored in GrColorSpaceInfo after the first lookup. Also uses GrColorSpaceInfo to construct GrTextUtils::Paint. Bug: skia: Change-Id: Idf19d512a60d2269e6921c7fb54d93aee499a70d Reviewed-on: https://skia-review.googlesource.com/63660 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
5911a7cf214ccd824a8c7830f8e29f218c8fe422 |
|
25-Oct-2017 |
Brian Osman <brianosman@google.com> |
Remove GrColorSpaceXform from GrGradientEffect Use a local xform to convert color stops for analytic gradients. For texture-based gradients, wrap the FP with an xform effect. To simplify this code, add a new AdjustFP helper to do the color xform, and also add the MulOutputByInputAlpha stage. Bug: skia: Change-Id: Icde19b5ec1c66aae76f894e9978c90a5f00c852e Reviewed-on: https://skia-review.googlesource.com/62500 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
5f379a8b117f68b2087ab4b400b7d2f110f5600c |
|
18-Oct-2017 |
Florin Malita <fmalita@chromium.org> |
Avoid 2PtConical gradient flipping Currently, when startRadius > endRadius conical gradients are inverting their data (start/end points and radii, colors and positions) to guarantee r0 < r1 at raster time. But the radii ordering is only mildly interesting to the impl: it controls which of the two quadratic solutions we select for the inside case, but doesn't fundamentally change the algorithm. Furthermore, for the "outside" case, inverting the order is already inconvenient and needs to be taken into account (both CPU/GPU impls are already tracking this bit of info). Instead of transforming the gradient definition, we can detect the inverted case and adjust the quadratic solution selector. In practice this means: * |edge| case - no change, the equation is linear * |inside| case - select the smaller root instead of largest * |outside| case - [gpu-only] invert the clamp/limiting function Change-Id: Ie3106464e39a4dd3848dc43671d973f7e1958e63 Reviewed-on: https://skia-review.googlesource.com/61660 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
aff329b8e9b239bca1d93b13a914fbef45ccf7fe |
|
11-Aug-2017 |
Brian Salomon <bsalomon@google.com> |
Make GrFragmentProcessor be non-refcounted and use std::unique_ptr. Change-Id: I985e54a071338e99292a5aa2f42c92bc115b4008 Reviewed-on: https://skia-review.googlesource.com/32760 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
50b2084bd15e7aea416dc8c6fd2373864c50f023 |
|
30-Jul-2017 |
Florin Malita <fmalita@chromium.org> |
Gradient stages cleanup Hoist the matrix setup into SkGradientShaderBase. Drop the bool return for adjustMatrixAndAppendStages(), and rename to appendGradientStages(). Change-Id: Iad412f638f86223e5af46a7d3dea6f768f52bcad Reviewed-on: https://skia-review.googlesource.com/26427 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
77c6866668ac74c8c22fcf0c1442aed5749af76f |
|
30-Jul-2017 |
Florin Malita <fmalita@chromium.org> |
Remove stale SkTwoPointConicalGradient assert Change-Id: If46426393e5151dad4f66ee5a54341024701e87e TBR= NOTRY=true Reviewed-on: https://skia-review.googlesource.com/28500 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
9c2212fa79e03ea7f3527bf4c30b3e6bbd560932 |
|
30-Jul-2017 |
Florin Malita <fmalita@chromium.org> |
Don't instantiate degenerate 2pt gradients We can catch the condition at construction time, no need to defer. Change-Id: I973b9e1b79998e2b334e3a91694c793882dfd65a Reviewed-on: https://skia-review.googlesource.com/26564 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Klein <mtklein@google.com>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
28a586966d5862312ed9e1b8d7de25b25b0f1b48 |
|
29-Jul-2017 |
Florin Malita <fmalita@chromium.org> |
Remove now-dead SK_SUPPORT_LEGACY_GRADIENT_MATRIX_MATH code Change-Id: I080942c44d2ce1a018ba127944c0a477af876158 TBR= Reviewed-on: https://skia-review.googlesource.com/28480 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
5127fcba572bb93684b394a129e23d06bed281a1 |
|
25-Jul-2017 |
Florin Malita <fmalita@chromium.org> |
Always postConcat() pipeline gradient matrices 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>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
6b59bf424c9d9d8a72d3c002871f143e6aff623e |
|
04-Jul-2017 |
Mike Reed <reed@google.com> |
consolidate logic for matrix stage 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>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
974aad487a81e507ca9e953e0b7e016a42ba3c39 |
|
04-Jul-2017 |
Florin Malita <fmalita@chromium.org> |
Handle degenerate 2pt conical center values gracefully 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>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
981deec8b2928f07e3899849bed31bfbb8c19b9b |
|
29-Jun-2017 |
Florin Malita <fmalita@chromium.org> |
Delete non-raster-pipeline SkTwoPointConicalGradient impl 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>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
3d96f06d9f9171797d0af23d471432d42290a59c |
|
29-Jun-2017 |
Florin Malita <fmalita@chromium.org> |
Always use raster pipeline for SkTwoPointConicalGradient 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>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
9026fe13a751582e58e98f9bf735c18b4719d7fe |
|
29-Jun-2017 |
Florin Malita <fmalita@chromium.org> |
2pt conical stage for focal-point-outside case 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>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
2e409009fb715400a0d64612c57187465c12790c |
|
28-Jun-2017 |
Florin Malita <fmalita@chromium.org> |
2pt conical stage for focal-pt-on-edge case 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>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
a66ef2d1063c9005611890613a7c27bede6ec5cb |
|
28-Jun-2017 |
Florin Malita <fmalita@chromium.org> |
2ptconical stage 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>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
0bb0411f59aff6362cedcd90b6ca272c53e19c4c |
|
27-Jun-2017 |
Florin Malita <fmalita@chromium.org> |
2pt conical stage for concentric case 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>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
6af270116dcf0bc123ce5ca22c319e087cd21f2f |
|
09-Jun-2017 |
Brian Salomon <bsalomon@google.com> |
Make gradient effect creation fail if texture LUT creation fails Bug: skia:6198 Change-Id: Ib8fb273564ca54ee9e6e045ac67e191af705a37a Reviewed-on: https://skia-review.googlesource.com/19260 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
5edba45dca995baed5e66dfaaa7859132e716314 |
|
30-May-2017 |
Florin Malita <fmalita@chromium.org> |
[Reland] Relocate shaders to own dir Consolidate all shader impls under src/shaders/. (reland of https://skia-review.googlesource.com/c/17927/) Change-Id: I7918bdc1aafe842ed194412ba95b9ae53a2ec1d7 Reviewed-on: https://skia-review.googlesource.com/18146 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
d8872be505c5c9c48072fe62c244e53e9b7334f1 |
|
26-May-2017 |
Stan Iliev <stani@google.com> |
Revert "Relocate shaders to own dir" This reverts commit fabe0b26d05624ce7374f6ca89bd66df6142534e. Reason for revert: Last android roll failed with "external/skia/src/effects/SkGaussianEdgeShader.h:11:10: fatal error: 'SkShaderBase.h' file not found" Original change's description: > Relocate shaders to own dir > > Consolidate all shader impls under src/shaders/. > > Change-Id: I450e37541214704c1ad9e379d9d753b7cc62fac3 > Reviewed-on: https://skia-review.googlesource.com/17927 > Commit-Queue: Florin Malita <fmalita@chromium.org> > Reviewed-by: Herb Derby <herb@google.com> > TBR=mtklein@google.com,herb@google.com,fmalita@chromium.org,reed@google.com No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: Idbb2b75053969df1dad9d8ce0217cd39189b9ddb Reviewed-on: https://skia-review.googlesource.com/18020 Reviewed-by: Stan Iliev <stani@google.com> Commit-Queue: Stan Iliev <stani@google.com>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|
fabe0b26d05624ce7374f6ca89bd66df6142534e |
|
25-May-2017 |
Florin Malita <fmalita@chromium.org> |
Relocate shaders to own dir Consolidate all shader impls under src/shaders/. Change-Id: I450e37541214704c1ad9e379d9d753b7cc62fac3 Reviewed-on: https://skia-review.googlesource.com/17927 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
/external/skia/src/shaders/gradients/SkTwoPointConicalGradient.cpp
|