aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/shaders/SkLocalMatrixShader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shaders/SkLocalMatrixShader.cpp')
-rw-r--r--src/shaders/SkLocalMatrixShader.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/shaders/SkLocalMatrixShader.cpp b/src/shaders/SkLocalMatrixShader.cpp
index 78110f5821..ca99af1bef 100644
--- a/src/shaders/SkLocalMatrixShader.cpp
+++ b/src/shaders/SkLocalMatrixShader.cpp
@@ -15,8 +15,13 @@
#if SK_SUPPORT_GPU
std::unique_ptr<GrFragmentProcessor> SkLocalMatrixShader::asFragmentProcessor(
const GrFPArgs& args) const {
+ SkMatrix tmp = this->getLocalMatrix();
+ if (args.fLocalMatrix) {
+ tmp.preConcat(*args.fLocalMatrix);
+ }
return as_SB(fProxyShader)
- ->asFragmentProcessor(args.makeWithPreLocalMatrix(this->getLocalMatrix()));
+ ->asFragmentProcessor(GrFPArgs(args.fContext, args.fViewMatrix, &tmp,
+ args.fFilterQuality, args.fDstColorSpaceInfo));
}
#endif