diff options
Diffstat (limited to 'src/gpu/GrOpList.h')
-rw-r--r-- | src/gpu/GrOpList.h | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/gpu/GrOpList.h b/src/gpu/GrOpList.h index b45ecce190..00dc344a07 100644 --- a/src/gpu/GrOpList.h +++ b/src/gpu/GrOpList.h @@ -8,7 +8,6 @@ #ifndef GrOpList_DEFINED #define GrOpList_DEFINED -#include "GrColor.h" #include "GrGpuResourceRef.h" #include "SkRefCnt.h" #include "SkTDArray.h" @@ -83,6 +82,9 @@ public: int32_t uniqueID() const { return fUniqueID; } + void setRequiresStencil() { this->setFlag(kClearStencilBuffer_Flag); } + bool requiresStencil() { return this->isSetFlag(kClearStencilBuffer_Flag); } + /* * Dump out the GrOpList dependency DAG */ @@ -91,18 +93,10 @@ public: SkDEBUGCODE(virtual int numOps() const = 0;) SkDEBUGCODE(virtual int numClips() const { return 0; }) - void setColorLoadOp(GrLoadOp loadOp) { fColorLoadOp = loadOp; } - void setLoadClearColor(GrColor color) { fLoadClearColor = color; } - void setStencilLoadOp(GrLoadOp loadOp) { fStencilLoadOp = loadOp; } - protected: GrSurfaceProxyRef fTarget; GrAuditTrail* fAuditTrail; - GrLoadOp fColorLoadOp = GrLoadOp::kLoad; - GrColor fLoadClearColor = 0x0; - GrLoadOp fStencilLoadOp = GrLoadOp::kLoad; - private: friend class GrDrawingManager; // for resetFlag & TopoSortTraits @@ -113,6 +107,8 @@ private: kWasOutput_Flag = 0x02, //!< Flag for topological sorting kTempMark_Flag = 0x04, //!< Flag for topological sorting + + kClearStencilBuffer_Flag = 0x08 //!< Clear the SB before executing the ops }; void setFlag(uint32_t flag) { |