diff options
author | 2017-04-12 15:50:08 +0000 | |
---|---|---|
committer | 2017-04-12 15:53:47 +0000 | |
commit | 719528ab4788affcd3c5a712d4f0b67a2c1c5e07 (patch) | |
tree | 3ff33da1fd7189f52ad9e704428eb5c700d330e5 /src | |
parent | e5fec217878e954483e023098e044cbe11ef0175 (diff) |
Revert "Revert "SkColorSpaceXformer: Preserve local matrix on shaders""
This reverts commit a50a11c17ed9037d3e60d8319727583dba803cec.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Revert "SkColorSpaceXformer: Preserve local matrix on shaders"
>
> This reverts commit 5d884b562828ceb13ccacb71bc4581d2020e62bb.
>
> Reason for revert: Wrong thing to revert
>
> Original change's description:
> > SkColorSpaceXformer: Preserve local matrix on shaders
> >
> > Also, do not drop unknown shaders.
> >
> > Fixes cts tests.
> >
> > b/37161109
> > b/37237678
> >
> > Bug: skia:
> > Change-Id: I0fd817a4d6461ede0ccdcb8f3cccb255b646b864
> > Reviewed-on: https://skia-review.googlesource.com/13246
> > Commit-Queue: Matt Sarett <msarett@google.com>
> > Commit-Queue: Mike Klein <mtklein@chromium.org>
> > Reviewed-by: Mike Klein <mtklein@chromium.org>
> >
>
> TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I34e02785ac43a04f8452c458680ea1d6518818a6
> Reviewed-on: https://skia-review.googlesource.com/13258
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>
TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I2dfac7d41caf0e32d3bb5f3f330fff4970c0545e
Reviewed-on: https://skia-review.googlesource.com/13260
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/core/SkColorSpaceXformer.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/core/SkColorSpaceXformer.cpp b/src/core/SkColorSpaceXformer.cpp index 38e717de0d..fe66e74c79 100644 --- a/src/core/SkColorSpaceXformer.cpp +++ b/src/core/SkColorSpaceXformer.cpp @@ -71,7 +71,8 @@ SkColor SkColorSpaceXformer::apply(SkColor srgb) { sk_sp<SkShader> SkColorSpaceXformer::apply(const SkShader* shader) { SkColor color; if (shader->isConstant() && shader->asLuminanceColor(&color)) { - return SkShader::MakeColorShader(this->apply(color)); + return SkShader::MakeColorShader(this->apply(color)) + ->makeWithLocalMatrix(shader->getLocalMatrix()); } SkShader::TileMode xy[2]; @@ -85,7 +86,8 @@ sk_sp<SkShader> SkColorSpaceXformer::apply(const SkShader* shader) { auto A = this->apply(compose.fShaderA), B = this->apply(compose.fShaderB); if (A && B) { - return SkShader::MakeComposeShader(std::move(A), std::move(B), compose.fBlendMode); + return SkShader::MakeComposeShader(std::move(A), std::move(B), compose.fBlendMode) + ->makeWithLocalMatrix(shader->getLocalMatrix()); } } @@ -147,7 +149,7 @@ sk_sp<SkShader> SkColorSpaceXformer::apply(const SkShader* shader) { } } - return nullptr; + return sk_ref_sp(const_cast<SkShader*>(shader)); } const SkPaint& SkColorSpaceXformer::apply(const SkPaint& src) { |