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

Unified Diff: include/gpu/GrProcessorStage.h

Issue 611653002: Cleanup of shader building system (Closed) Base URL: https://skia.googlesource.com/skia.git@solo_gp
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
« no previous file with comments | « include/gpu/GrPaint.h ('k') | include/gpu/GrTBackendProcessorFactory.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/gpu/GrProcessorStage.h
diff --git a/include/gpu/GrProcessorStage.h b/include/gpu/GrProcessorStage.h
index 1485ca7cd197805a301f3bb7c402e9f3dc84c4b6..5cc06e78db3c298568535bb1aaf4ee523bf564ba 100644
--- a/include/gpu/GrProcessorStage.h
+++ b/include/gpu/GrProcessorStage.h
@@ -31,6 +31,8 @@ public:
fCoordChangeMatrixSet = false;
}
+ virtual ~GrProcessorStage() {}
+
GrProcessorStage(const GrProcessorStage& other) {
fCoordChangeMatrixSet = other.fCoordChangeMatrixSet;
if (other.fCoordChangeMatrixSet) {
@@ -147,11 +149,11 @@ public:
}
}
- const GrProcessor* getProcessor() const { return fProc.get(); }
+ virtual const GrProcessor* getProcessor() const = 0;
void convertToPendingExec() { fProc.convertToPendingExec(); }
-private:
+protected:
bool fCoordChangeMatrixSet;
SkMatrix fCoordChangeMatrix;
GrProgramElementRef<const GrProcessor> fProc;
@@ -161,18 +163,24 @@ class GrFragmentStage : public GrProcessorStage {
public:
GrFragmentStage(const GrFragmentProcessor* fp) : GrProcessorStage(fp) {}
- const GrFragmentProcessor* getFragmentProcessor() const {
- return static_cast<const GrFragmentProcessor*>(this->getProcessor());
+ virtual const GrFragmentProcessor* getProcessor() const {
+ return static_cast<const GrFragmentProcessor*>(fProc.get());
}
+
+ typedef GrFragmentProcessor Processor;
+ typedef GrGLFragmentProcessor GLProcessor;
};
class GrGeometryStage : public GrProcessorStage {
public:
GrGeometryStage(const GrGeometryProcessor* gp) : GrProcessorStage(gp) {}
- const GrGeometryProcessor* getGeometryProcessor() const {
- return static_cast<const GrGeometryProcessor*>(this->getProcessor());
+ virtual const GrGeometryProcessor* getProcessor() const {
+ return static_cast<const GrGeometryProcessor*>(fProc.get());
}
+
+ typedef GrGeometryProcessor Processor;
+ typedef GrGLGeometryProcessor GLProcessor;
};
#endif
« no previous file with comments | « include/gpu/GrPaint.h ('k') | include/gpu/GrTBackendProcessorFactory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698