Index: src/gpu/GrProcOptInfo.h |
diff --git a/src/gpu/GrProcOptInfo.h b/src/gpu/GrProcOptInfo.h |
index bb657d27c0cfa12b3bd264ca8e7587eefb3c1e2c..5778c4c343a3c358cba2fc80e97c39a9eeff72ab 100644 |
--- a/src/gpu/GrProcOptInfo.h |
+++ b/src/gpu/GrProcOptInfo.h |
@@ -12,7 +12,9 @@ |
#include "GrInvariantOutput.h" |
class GrFragmentStage; |
+class GrFragmentProcessor; |
class GrGeometryProcessor; |
+class GrProcessor; |
/** |
* GrProcOptInfo gathers invariant data from a set of processor stages.It is used to recognize |
@@ -27,7 +29,8 @@ public: |
, fInputColorIsUsed(true) |
, fInputColor(0) |
, fRemoveVertexAttrib(false) |
- , fReadsDst(false) {} |
+ , fReadsDst(false) |
+ , fReadsFragPosition(false) {} |
void calcWithInitialValues(const GrFragmentStage*, int stageCount, GrColor startColor, |
GrColorComponentFlags flags, bool areCoverageStages, |
@@ -74,6 +77,11 @@ public: |
*/ |
bool readsDst() const { return fReadsDst; } |
+ /** |
+ * Returns true if any of the stages preserved by GrProcOptInfo read the frag position. |
+ */ |
+ bool readsFragPosition() const { return fReadsFragPosition; } |
+ |
private: |
GrInvariantOutput fInOut; |
int fFirstEffectStageIndex; |
@@ -81,6 +89,7 @@ private: |
GrColor fInputColor; |
bool fRemoveVertexAttrib; |
bool fReadsDst; |
+ bool fReadsFragPosition; |
}; |
#endif |