aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrDefaultGeoProcFactory.cpp
diff options
context:
space:
mode:
authorGravatar joshualitt <joshualitt@chromium.org>2014-12-19 13:45:20 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2014-12-19 13:45:20 -0800
commit290c09b8bbd8d221d363150e2ce87158f4668df0 (patch)
tree7989675060a6bd1bcd7626139810079d5add3d76 /src/gpu/GrDefaultGeoProcFactory.cpp
parentbd2f0f34cfa0debf2b60fd864c432ef5cbe96503 (diff)
initial changes to add local matrix to primitive processor
Diffstat (limited to 'src/gpu/GrDefaultGeoProcFactory.cpp')
-rw-r--r--src/gpu/GrDefaultGeoProcFactory.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/gpu/GrDefaultGeoProcFactory.cpp b/src/gpu/GrDefaultGeoProcFactory.cpp
index f7b85ee469..a74565c5d7 100644
--- a/src/gpu/GrDefaultGeoProcFactory.cpp
+++ b/src/gpu/GrDefaultGeoProcFactory.cpp
@@ -52,12 +52,18 @@ public:
} else {
local->fInputCoverageType = kIgnored_GrGPInput;
}
+
+ local->fUsesLocalCoords = init.fUsesLocalCoords;
}
- bool onCanMakeEqual(const GrBatchTracker& m, const GrBatchTracker& t) const SK_OVERRIDE {
+ bool onCanMakeEqual(const GrBatchTracker& m,
+ const GrGeometryProcessor& that,
+ const GrBatchTracker& t) const SK_OVERRIDE {
const BatchTracker& mine = m.cast<BatchTracker>();
const BatchTracker& theirs = t.cast<BatchTracker>();
- 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, mine.fCoverage,
theirs.fInputCoverageType, theirs.fCoverage);
@@ -205,6 +211,7 @@ private:
GrGPInput fInputCoverageType;
GrColor fColor;
GrColor fCoverage;
+ bool fUsesLocalCoords;
};
const GrAttribute* fInPosition;