diff options
author | 2017-08-29 14:58:19 -0400 | |
---|---|---|
committer | 2017-08-29 20:10:31 +0000 | |
commit | 1d8c42eb903b66035ecf4d45b03dfeb1ad07b957 (patch) | |
tree | bddb7925865421ff762ae7e458ae3c24b6be477e /src/shaders/SkColorShader.cpp | |
parent | 8b0f265f70703fa96c6d9011b1d8440e60d63632 (diff) |
fold params into StageRec
pre-CL before trying to add a hint-rect field to allow shaders to "optimize"
their stages for a given restriction in device space
- e.g. if the shader's intrinsic domain is contained, it won't need to tile/clamp
Bug: skia:
Change-Id: Ia2da557691da25f31e4b9e3f53c3bc6709b89083
Reviewed-on: https://skia-review.googlesource.com/40224
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/shaders/SkColorShader.cpp')
-rw-r--r-- | src/shaders/SkColorShader.cpp | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/src/shaders/SkColorShader.cpp b/src/shaders/SkColorShader.cpp index 33ebc53f3f..53bc94e11e 100644 --- a/src/shaders/SkColorShader.cpp +++ b/src/shaders/SkColorShader.cpp @@ -245,22 +245,13 @@ sk_sp<SkShader> SkShader::MakeColorShader(const SkColor4f& color, sk_sp<SkColorS /////////////////////////////////////////////////////////////////////////////////////////////////// -bool SkColorShader::onAppendStages(SkRasterPipeline* p, - SkColorSpace* dst, - SkArenaAlloc* scratch, - const SkMatrix&, - const SkPaint&, - const SkMatrix*) const { - p->append_constant_color(scratch, SkPM4f_from_SkColor(fColor, dst)); +bool SkColorShader::onAppendStages(const StageRec& rec) const { + rec.fPipeline->append_constant_color(rec.fAlloc, SkPM4f_from_SkColor(fColor, rec.fDstCS)); return true; } -bool SkColor4Shader::onAppendStages(SkRasterPipeline* p, - SkColorSpace* dst, - SkArenaAlloc* scratch, - const SkMatrix&, - const SkPaint&, - const SkMatrix*) const { - p->append_constant_color(scratch, to_colorspace(fColor4, fColorSpace.get(), dst).premul()); +bool SkColor4Shader::onAppendStages(const StageRec& rec) const { + rec.fPipeline->append_constant_color( + rec.fAlloc, to_colorspace(fColor4, fColorSpace.get(), rec.fDstCS).premul()); return true; } |