Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(251)

Unified Diff: src/gpu/GrPictureUtils.cpp

Issue 639863005: Track nested picture xform state for layer hoisting (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/gpu/GrPictureUtils.cpp
diff --git a/src/gpu/GrPictureUtils.cpp b/src/gpu/GrPictureUtils.cpp
index a215a0e7a6492e6ae908a46bc32e109432749cfa..f3c63047b92530e64c77de6499321b2929d780dc 100644
--- a/src/gpu/GrPictureUtils.cpp
+++ b/src/gpu/GrPictureUtils.cpp
@@ -124,8 +124,9 @@ private:
dst.fPicture = src.fPicture ? src.fPicture : static_cast<const SkPicture*>(dp.picture);
dst.fPicture->ref();
dst.fBounds = newClip;
- dst.fOriginXform = src.fOriginXform;
- dst.fOriginXform.postConcat(*fCTM);
+ dst.fLocalMat = src.fLocalMat;
+ dst.fInitialMat = src.fInitialMat;
+ dst.fInitialMat.preConcat(*fCTM);
jvanverth1 2014/10/21 18:40:04 Not postConcat?
robertphillips 2014/10/21 19:54:46 I believe preConcat is correct. fCTM is the CTM of
if (src.fPaint) {
dst.fPaint = SkNEW_ARGS(SkPaint, (*src.fPaint));
}
@@ -180,7 +181,8 @@ private:
SkASSERT(NULL == slInfo.fPicture); // This layer is in the top-most picture
slInfo.fBounds = si.fBounds;
- slInfo.fOriginXform = *fCTM;
+ slInfo.fLocalMat = *fCTM;
+ slInfo.fInitialMat = SkMatrix::I();
if (si.fPaint) {
slInfo.fPaint = SkNEW_ARGS(SkPaint, (*si.fPaint));
}

Powered by Google App Engine
This is Rietveld 408576698