diff options
author | Mike Klein <mtklein@chromium.org> | 2018-07-25 13:05:17 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-07-25 23:51:15 +0000 |
commit | e28a6b55dfbcd510d86cca39a167d179b81e4f4c (patch) | |
tree | 7d9151d55b67f749fd701b7c8fe52b6f922988d3 /src/effects | |
parent | 68300c270916b2740fccdbe6c6dce8f085e83316 (diff) |
add explicit accessor for sRGB singleton colorspaces
SkColorSpace::MakeSRGB().get() is scary, and causes more ref/unref
pairs than strictly necessary for these singletons.
This time the implementation is still in SkColorSpace.cpp,
so these should really work as singletons.
Change-Id: I40f2942c8dcde3040663a04c4f5330aca90868ae
Reviewed-on: https://skia-review.googlesource.com/143305
Auto-Submit: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Diffstat (limited to 'src/effects')
-rw-r--r-- | src/effects/SkToSRGBColorFilter.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/effects/SkToSRGBColorFilter.cpp b/src/effects/SkToSRGBColorFilter.cpp index 0bfa40b1d3..9942b02f37 100644 --- a/src/effects/SkToSRGBColorFilter.cpp +++ b/src/effects/SkToSRGBColorFilter.cpp @@ -5,6 +5,7 @@ * found in the LICENSE file. */ +#include "SkColorSpacePriv.h" #include "SkColorSpaceXformSteps.h" #include "SkPM4fPriv.h" #include "SkRasterPipeline.h" @@ -22,7 +23,7 @@ void SkToSRGBColorFilter::onAppendStages(SkRasterPipeline* p, SkArenaAlloc* alloc, bool shaderIsOpaque) const { alloc->make<SkColorSpaceXformSteps>(fSrcColorSpace.get(), kPremul_SkAlphaType, - SkColorSpace::MakeSRGB().get()) + sk_srgb_singleton()) ->apply(p); } @@ -51,6 +52,6 @@ void SkToSRGBColorFilter::flatten(SkWriteBuffer& buffer) const { #if SK_SUPPORT_GPU std::unique_ptr<GrFragmentProcessor> SkToSRGBColorFilter::asFragmentProcessor( GrContext*, const GrColorSpaceInfo&) const { - return GrColorSpaceXformEffect::Make(fSrcColorSpace.get(), SkColorSpace::MakeSRGB().get()); + return GrColorSpaceXformEffect::Make(fSrcColorSpace.get(), sk_srgb_singleton()); } #endif |