Plumbing SkMatrixProvider into the raster backend
Change-Id: Ic5786b995fdb439871f2e3ab94cd07a945de19af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/288776
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
diff --git a/src/shaders/SkLocalMatrixShader.cpp b/src/shaders/SkLocalMatrixShader.cpp
index 59d9804..66ee52b 100644
--- a/src/shaders/SkLocalMatrixShader.cpp
+++ b/src/shaders/SkLocalMatrixShader.cpp
@@ -5,6 +5,7 @@
* found in the LICENSE file.
*/
+#include "src/core/SkMatrixProvider.h"
#include "src/core/SkTLazy.h"
#include "src/core/SkVM.h"
#include "src/shaders/SkLocalMatrixShader.h"
@@ -138,6 +139,7 @@
#endif
bool onAppendStages(const SkStageRec& rec) const override {
+ SkOverrideDeviceMatrixProvider matrixProvider(rec.fMatrixProvider, fCTM);
SkStageRec newRec = {
rec.fPipeline,
rec.fAlloc,
@@ -145,7 +147,7 @@
rec.fDstCS,
rec.fPaint,
rec.fLocalM,
- fCTM,
+ matrixProvider,
};
return as_SB(fProxyShader)->appendStages(newRec);
}