diff options
author | 2014-12-19 13:45:20 -0800 | |
---|---|---|
committer | 2014-12-19 13:45:20 -0800 | |
commit | 290c09b8bbd8d221d363150e2ce87158f4668df0 (patch) | |
tree | 7989675060a6bd1bcd7626139810079d5add3d76 /src/gpu/GrGeometryProcessor.cpp | |
parent | bd2f0f34cfa0debf2b60fd864c432ef5cbe96503 (diff) |
initial changes to add local matrix to primitive processor
BUG=skia:
Review URL: https://codereview.chromium.org/820523002
Diffstat (limited to 'src/gpu/GrGeometryProcessor.cpp')
-rw-r--r-- | src/gpu/GrGeometryProcessor.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/gpu/GrGeometryProcessor.cpp b/src/gpu/GrGeometryProcessor.cpp index 5d9cdaff8f..d47f687d89 100644 --- a/src/gpu/GrGeometryProcessor.cpp +++ b/src/gpu/GrGeometryProcessor.cpp @@ -62,6 +62,7 @@ struct PathBatchTracker { GrGPInput fInputColorType; GrGPInput fInputCoverageType; GrColor fColor; + bool fUsesLocalCoords; }; class GrGLPathProcessor : public GrGLGeometryProcessor { @@ -118,7 +119,9 @@ private: typedef GrGLGeometryProcessor INHERITED; }; -GrPathProcessor::GrPathProcessor(GrColor color) : fColor(color) { +GrPathProcessor::GrPathProcessor(GrColor color, const SkMatrix& localMatrix) + : INHERITED(localMatrix) + , fColor(color) { this->initClassID<GrPathProcessor>(); } @@ -142,6 +145,7 @@ void GrPathProcessor::initBatchTracker(GrBatchTracker* bt, const InitBT& init) c } local->fInputCoverageType = init.fCoverageIgnored ? kIgnored_GrGPInput : kAllOnes_GrGPInput; + local->fUsesLocalCoords = init.fUsesLocalCoords; } bool GrPathProcessor::canMakeEqual(const GrBatchTracker& m, @@ -153,7 +157,9 @@ bool GrPathProcessor::canMakeEqual(const GrBatchTracker& m, const PathBatchTracker& mine = m.cast<PathBatchTracker>(); const PathBatchTracker& theirs = t.cast<PathBatchTracker>(); - return CanCombineOutput(mine.fInputColorType, mine.fColor, + return CanCombineLocalMatrices(*this, mine.fUsesLocalCoords, + that, theirs.fUsesLocalCoords) && + CanCombineOutput(mine.fInputColorType, mine.fColor, theirs.fInputColorType, theirs.fColor) && CanCombineOutput(mine.fInputCoverageType, 0xff, theirs.fInputCoverageType, 0xff); |