aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/shaders
Commit message (Collapse)AuthorAge
* experiment: force composeshade to always be rasterpipelineGravatar Mike Reed2017-06-04
| | | | | | | | Bug: skia: Change-Id: I7dd3f652f3ce05c48cc41b0bbbb54b96d17d721a Reviewed-on: https://skia-review.googlesource.com/18529 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* remove unused auto classGravatar Mike Reed2017-06-02
| | | | | | | | Bug: skia: Change-Id: I7178876c0d95dc83d64d39a2cb6d90a47bc4b00e Reviewed-on: https://skia-review.googlesource.com/18520 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* default impl of appendStages now calls shaderContextGravatar Mike Reed2017-06-02
| | | | | | | | | | | | | | | | | | this is approximately a revert of https://skia-review.googlesource.com/c/17768/ I propose if/when we want to experiment with a fast-path for coherent shaders (e.g. 2-color linear gradients, up-scaling images) that we just create a new mechanism for shaders to opt into that, knowing that it will be driven by the rasterpipeline (and never by the old context convention). This CL now makes it legal/clear that a new shader subclass can *just* implement stages for raster, and never needs to make a context. Bug: skia: Change-Id: I525a8b1cece100f0993f75e28128e0927a4ea35c Reviewed-on: https://skia-review.googlesource.com/18481 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* fix premultiplied color generation in linear gradients when using ↵Gravatar Lee Salzman2017-06-01
| | | | | | | | | | | fApplyAlphaAfterInterp BUG=skia: Change-Id: I771797498f60313022cd3a9e53037e98b3b3590b Reviewed-on: https://skia-review.googlesource.com/17818 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* have shaders that need seed_shader call it themselvesGravatar Mike Klein2017-06-01
| | | | | | | | | | | | This ought to make compose shader and our sprite blitter a bit more efficient. Compose shader can simply re-seed instead of saving the xy values off to a buffer. The sprite blitter doesn't need xy at all. Change-Id: Ib4b3509288810f74a4c8e2978ce2ca14d8644980 Reviewed-on: https://skia-review.googlesource.com/18405 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* update SkRasterPipeline::run() to also take yGravatar Mike Klein2017-06-01
| | | | | | | | | y isn't used yet. This is just a warmup that updates the callers. Change-Id: I78f4f44e2b82f72b3a39fa8a8bdadef1d1b8a99e Reviewed-on: https://skia-review.googlesource.com/18381 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* fix and test colorfiltershaderGravatar Mike Reed2017-06-01
| | | | | | | | | Bug: skia: Change-Id: I02fd77796880b42ce55549a8340b116e1c5f19d6 Reviewed-on: https://skia-review.googlesource.com/18305 Commit-Queue: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Store SkPerlinNoiseShaderImpl's PaintingData inlineGravatar Florin Malita2017-05-31
| | | | | | | | | No reason to allocate dynamically, now that the impl is private. Change-Id: I1b6f34fa903149d88fe82f5947c1df899446967e Reviewed-on: https://skia-review.googlesource.com/18237 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* slant colorfilter away from filterSpan4fGravatar Mike Reed2017-05-31
| | | | | | | | | | | rename to make it easy to delete any impl that also had onAppendStages... i.e. rename to make it clear that it is just an impl trick for rasterpipeline. Bug: skia: Change-Id: If3c3b2811eff12d399cdf7a77552c01e72c06996 Reviewed-on: https://skia-review.googlesource.com/18234 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* add stages to colorfiltershaderGravatar Mike Reed2017-05-31
| | | | | | | | | | | | Interestingly, this public api (makeWithColorFilter) is only used internally by the legacy raster blitters. Perhaps we could remove/hide it? ... and that API is the only way we create one of these shaders. Bug: skia: Change-Id: I9bbd3786160844c963a78663e503e08122183701 Reviewed-on: https://skia-review.googlesource.com/18230 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* assume sRGB transfer function on untagged imagesGravatar Mike Klein2017-05-31
| | | | | | | | | | | | | | | | This has been a long time coming. There are probably one or two more places we'd want to do this on the CPU side too, but it's a start. Somewhat seriously, this is my proposed fixed for colorburn + xfermodes2. We're not interpreting the red or green images sensibly. BUG=skia:6680 Change-Id: Iea15be08c1907ac1ac46ef358d3d74f1cc35a156 Reviewed-on: https://skia-review.googlesource.com/18221 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Speculative fix for SkPerlinNoiseShaderImpl::asFragmentProcessor leakGravatar Florin Malita2017-05-30
| | | | | | | | Change-Id: I9dfa0e825f944d6abf88abfdfd585f2d504ea4f6 Reviewed-on: https://skia-review.googlesource.com/18151 Commit-Queue: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com>
* [Reland] Relocate shaders to own dirGravatar Florin Malita2017-05-30
| | | | | | | | | | | 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>
* Revert "Relocate shaders to own dir"Gravatar Stan Iliev2017-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Relocate shaders to own dirGravatar Florin Malita2017-05-25
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>