History log of /external/skia/src/shaders/gradients/SkSweepGradient.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/SkSweepGradient.cpp
e657dc8ce6cb17136dfd21be905b97a3957e957e 03-Nov-2017 Florin Malita <fmalita@chromium.org> Remove gradient onGetGLSLProcessorKey() overrides

None of the gradient processor subclassess contributes anything to the
base class key. Relocate the key logic to GrGradientEffect, and remove
unneeded builerplate.

Change-Id: I6b33ad359212579adedf95c0c3d481373c83d4c4
Reviewed-on: https://skia-review.googlesource.com/67721
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
/external/skia/src/shaders/gradients/SkSweepGradient.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/SkSweepGradient.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/SkSweepGradient.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/SkSweepGradient.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/SkSweepGradient.cpp
abff956455637b12eab374fd44b99e1338799113 09-Oct-2017 Ethan Nicholas <ethannicholas@google.com> initClassID no longer auto-allocates ids

Auto-allocated IDs mean that the IDs depend upon the order in which
classes happen to get initialized and are therefore not consistent
from run to run. This change paves the way for a persistent shader
cache by fixing the IDs in an enum.

Bug: skia:
Change-Id: I3e923c6c54f41b3b3eb616458abee83e0909c09f
Reviewed-on: https://skia-review.googlesource.com/56401
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/shaders/gradients/SkSweepGradient.cpp
f7b8820dc813d1eb0b6b43fe4581dded0da38caf 18-Sep-2017 Ethan Nicholas <ethannicholas@google.com> re-land of new SkSL precisions

Bug: skia:
Change-Id: Ic1deb3db2cbda6ca45f93dee99832971a36a2119
Reviewed-on: https://skia-review.googlesource.com/47841
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
/external/skia/src/shaders/gradients/SkSweepGradient.cpp
27185a9b9756d2f5fcc077c6c2c005259d4ba517 18-Sep-2017 Ethan Nicholas <ethannicholas@google.com> Revert "Revert "Revert "Switched highp float to highfloat and mediump float to half."""

This reverts commit 05d5a13fea6246648de7e41358ed338d53c85ea2.

Reason for revert: looks like it broke filterfastbounds

Original change's description:
> Revert "Revert "Switched highp float to highfloat and mediump float to half.""
>
> This reverts commit 1d816b92bb7cf2258007f3f74ffd143b89f25d01.
>
> Bug: skia:
> Change-Id: I388b5e5e9bf619db48297a80c9a80c039f26c9f1
> Reviewed-on: https://skia-review.googlesource.com/46464
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

TBR=bsalomon@google.com,ethannicholas@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:
Change-Id: Iddf6aef2ab084aa73da7ceebdfc303a1d2b80cde
Reviewed-on: https://skia-review.googlesource.com/47441
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
/external/skia/src/shaders/gradients/SkSweepGradient.cpp
05d5a13fea6246648de7e41358ed338d53c85ea2 15-Sep-2017 Ethan Nicholas <ethannicholas@google.com> Revert "Revert "Switched highp float to highfloat and mediump float to half.""

This reverts commit 1d816b92bb7cf2258007f3f74ffd143b89f25d01.

Bug: skia:
Change-Id: I388b5e5e9bf619db48297a80c9a80c039f26c9f1
Reviewed-on: https://skia-review.googlesource.com/46464
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
/external/skia/src/shaders/gradients/SkSweepGradient.cpp
1d816b92bb7cf2258007f3f74ffd143b89f25d01 17-Aug-2017 Brian Salomon <bsalomon@google.com> Revert "Switched highp float to highfloat and mediump float to half."

This reverts commit 88d99c63878c2d3d340120f0321676f72afcb4f0.

Reason for revert: Believed to be causing unit test failures in Chrome roll:

https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/364433
https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.android%2Flinux_android_rel_ng%2F364433%2F%2B%2Frecipes%2Fsteps%2Fcontent_browsertests__with_patch__on_Android%2F0%2Flogs%2FWebRtcCaptureFromElementBrowserTest.VerifyCanvasWebGLCaptureColor%2F0

Original change's description:
> Switched highp float to highfloat and mediump float to half.
>
> The ultimate goal is to end up with "float" and "half", but this
> intermediate step uses "highfloat" so that it is clear if I missed a
> "float" somewhere. Once this lands, a subsequent CL will switch all
> "highfloats" back to "floats".
>
> Bug: skia:
> Change-Id: Ia13225c7a0a0a2901e07665891c473d2500ddcca
> Reviewed-on: https://skia-review.googlesource.com/31000
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,csmartdalton@google.com,ethannicholas@google.com

Change-Id: I8bfa97547ac3920d433665f161d27df3f15c83aa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/35705
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/shaders/gradients/SkSweepGradient.cpp
88d99c63878c2d3d340120f0321676f72afcb4f0 16-Aug-2017 Ethan Nicholas <ethannicholas@google.com> Switched highp float to highfloat and mediump float to half.

The ultimate goal is to end up with "float" and "half", but this
intermediate step uses "highfloat" so that it is clear if I missed a
"float" somewhere. Once this lands, a subsequent CL will switch all
"highfloats" back to "floats".

Bug: skia:
Change-Id: Ia13225c7a0a0a2901e07665891c473d2500ddcca
Reviewed-on: https://skia-review.googlesource.com/31000
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
/external/skia/src/shaders/gradients/SkSweepGradient.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/SkSweepGradient.cpp
545630b8990d8b9e509b2c751620e241b9247907 02-Aug-2017 Florin Malita <fmalita@chromium.org> Fix sweep gradient tiling w/ makeColorSpace

Change-Id: If989c2262b174af042af13cda991b999d9b6d596
Reviewed-on: https://skia-review.googlesource.com/29881
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/src/shaders/gradients/SkSweepGradient.cpp
5a9a981edf54d203e06adab0909da03343a1c596 01-Aug-2017 Florin Malita <fmalita@chromium.org> Tiling support for SkSweepGradient

Expand the sweep gradient definition to include a color stop angular range ([0, 360] by default).

Color stop positions in [0,1] are mapped to this range, and drawing outside is controlled by a
tile mode param.

This is closer to the CSS gradients spec and allows us to use fewer color stops in Blink conic
gradients.

Impl-wise, the remapping is effected after t calculation, and before tiling.

Change-Id: I5d71be01d134404d6eb9d7e2a904ec636b39f855
Reviewed-on: https://skia-review.googlesource.com/27704
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/src/shaders/gradients/SkSweepGradient.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/SkSweepGradient.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/SkSweepGradient.cpp
f8480b90551d29484d51e74f6a43c9ab95b5d95c 27-Jul-2017 Brian Salomon <bsalomon@google.com> Implement clone() for Gradient GrFragmentProcessors

Also removes the hard stop gradient conditional compilation macro.

Change-Id: Idd56b5f3061db063d650a0090406ec192acc0b53
Reviewed-on: https://skia-review.googlesource.com/27661
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
/external/skia/src/shaders/gradients/SkSweepGradient.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/SkSweepGradient.cpp
c2bd631c431c6ee865b709bd11e26a9bdceaf5cd 17-Jul-2017 Florin Malita <fmalita@chromium.org> Remove (now-dead) SK_LEGACY_SWEEP_GRADIENT code

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>
/external/skia/src/shaders/gradients/SkSweepGradient.cpp
4d41b8f2fdae21a6ed16fca6242d53e7c08349d0 12-Jul-2017 Florin Malita <fmalita@chromium.org> Remove dead gradient perspective code

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>
/external/skia/src/shaders/gradients/SkSweepGradient.cpp
5769dd2c9ad9443b8cf2d62748d5747e547c7ad5 12-Jul-2017 Florin Malita <fmalita@chromium.org> Add some raster pipeline perspective asserts

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>
/external/skia/src/shaders/gradients/SkSweepGradient.cpp
0c26a9dbd0b6546731df63c01411cb2aaa5ba236 06-Jul-2017 Brian Salomon <bsalomon@google.com> GR_TEST_UTILS fixes

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>
/external/skia/src/shaders/gradients/SkSweepGradient.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/SkSweepGradient.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/SkSweepGradient.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/SkSweepGradient.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/SkSweepGradient.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/SkSweepGradient.cpp