diff options
Diffstat (limited to 'src/shaders/SkLocalMatrixShader.cpp')
-rw-r--r-- | src/shaders/SkLocalMatrixShader.cpp | 7 |
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 |