Index: src/gpu/GrGeometryProcessor.h |
diff --git a/src/gpu/GrGeometryProcessor.h b/src/gpu/GrGeometryProcessor.h |
index 4411049c909ee7f8a0d3daa4c0add0f77afc8e72..a0cfc09d4536d7cfef2e5e101ef8eb1d9784f34f 100644 |
--- a/src/gpu/GrGeometryProcessor.h |
+++ b/src/gpu/GrGeometryProcessor.h |
@@ -39,23 +39,6 @@ |
class GrGLGeometryProcessor; |
class GrOptDrawState; |
-struct GrInitInvariantOutput; |
- |
-/* |
- * GrGeometryProcessors and GrPathProcessors may effect invariantColor |
- */ |
-class GrPrimitiveProcessor : public GrProcessor { |
-public: |
- // TODO GPs and PPs have to provide an initial coverage because the coverage invariant code is |
- // broken right now |
- virtual uint8_t coverage() const = 0; |
- virtual void getInvariantOutputColor(GrInitInvariantOutput* out) const = 0; |
- virtual void getInvariantOutputCoverage(GrInitInvariantOutput* out) const = 0; |
- |
-private: |
- typedef GrProcessor INHERITED; |
-}; |
- |
/** |
* A GrGeometryProcessor is used to perform computation in the vertex shader and |
* add support for custom vertex attributes. A GrGemeotryProcessor is typically |
@@ -66,7 +49,7 @@ |
* added to the vertex attribute array specified on the GrDrawState. |
* GrGeometryProcessor subclasses should be immutable after construction. |
*/ |
-class GrGeometryProcessor : public GrPrimitiveProcessor { |
+class GrGeometryProcessor : public GrProcessor { |
public: |
GrGeometryProcessor(GrColor color, uint8_t coverage = 0xff) |
: fVertexStride(0) |
@@ -131,13 +114,11 @@ |
return false; |
} |
- if (!fHasVertexColor && this->color() != that.color()) { |
+ if (!fHasVertexColor && this->getColor() != that.getColor()) { |
return false; |
} |
- // TODO this is fragile, most gps set their coverage to 0xff so this is okay. In the long |
- // term this should move to subclasses which set explicit coverage |
- if (!fHasVertexCoverage && this->coverage() != that.coverage()) { |
+ if (!fHasVertexCoverage && this->getCoverage() != that.getCoverage()) { |
return false; |
} |
return this->onIsEqual(that); |
@@ -152,8 +133,8 @@ |
virtual void initBatchTracker(GrBatchTracker*, const InitBT&) const {} |
- GrColor color() const { return fColor; } |
- uint8_t coverage() const { return fCoverage; } |
+ GrColor getColor() const { return fColor; } |
+ uint8_t getCoverage() const { return fCoverage; } |
// TODO this is a total hack until the gp can own whether or not it uses uniform |
// color / coverage |
@@ -161,8 +142,7 @@ |
bool hasVertexCoverage() const { return fHasVertexCoverage; } |
bool hasLocalCoords() const { return fHasLocalCoords; } |
- void getInvariantOutputColor(GrInitInvariantOutput* out) const SK_OVERRIDE; |
- void getInvariantOutputCoverage(GrInitInvariantOutput* out) const SK_OVERRIDE; |
+ void computeInvariantColor(GrInvariantOutput* inout) const; |
protected: |
/** |
@@ -183,9 +163,6 @@ |
void setHasVertexCoverage() { fHasVertexCoverage = true; } |
void setHasLocalCoords() { fHasLocalCoords = true; } |
- virtual void onGetInvariantOutputColor(GrInitInvariantOutput*) const {} |
- virtual void onGetInvariantOutputCoverage(GrInitInvariantOutput*) const = 0; |
- |
private: |
virtual bool onIsEqual(const GrGeometryProcessor&) const = 0; |
@@ -200,26 +177,4 @@ |
typedef GrProcessor INHERITED; |
}; |
- |
-/* |
- * The path equivalent of the GP. For now this just manages color. In the long term we plan on |
- * extending this class to handle all nvpr uniform / varying / program work. |
- */ |
-class GrPathProcessor : public GrPrimitiveProcessor { |
-public: |
- static GrPathProcessor* Create(GrColor color) { |
- return SkNEW_ARGS(GrPathProcessor, (color)); |
- } |
- |
- const char* name() const SK_OVERRIDE { return "PathProcessor"; } |
- uint8_t coverage() const SK_OVERRIDE { return 0xff; } |
- void getInvariantOutputColor(GrInitInvariantOutput* out) const SK_OVERRIDE; |
- void getInvariantOutputCoverage(GrInitInvariantOutput* out) const SK_OVERRIDE; |
- |
-private: |
- GrPathProcessor(GrColor color) : fColor(color) {} |
- GrColor fColor; |
- |
- typedef GrProcessor INHERITED; |
-}; |
#endif |