diff options
-rw-r--r-- | src/effects/SkMatrixConvolutionImageFilter.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/effects/SkMatrixConvolutionImageFilter.cpp b/src/effects/SkMatrixConvolutionImageFilter.cpp index 74f04bfe3b..657c996a40 100644 --- a/src/effects/SkMatrixConvolutionImageFilter.cpp +++ b/src/effects/SkMatrixConvolutionImageFilter.cpp @@ -455,8 +455,9 @@ void GrGLMatrixConvolutionEffect::setData(const GrGLUniformManager& uman, GrAssert(effect.kernelSize() == fKernelSize); GrAssert(effect.tileMode() == fTileMode); float imageIncrement[2]; + float ySign = texture.origin() == GrSurface::kTopLeft_Origin ? 1.0f : -1.0f; imageIncrement[0] = 1.0f / texture.width(); - imageIncrement[1] = 1.0f / texture.height(); + imageIncrement[1] = ySign / texture.height(); uman.set2fv(fImageIncrementUni, 0, 1, imageIncrement); uman.set2fv(fTargetUni, 0, 1, effect.target()); uman.set1fv(fKernelUni, 0, fKernelSize.width() * fKernelSize.height(), effect.kernel()); |