Index: src/gpu/GrPipeline.h |
diff --git a/src/gpu/GrPipeline.h b/src/gpu/GrPipeline.h |
index 8781058247fe438300ac2f5cb919c389aea31c1b..3cbd38c6746f2a9f68bb05bdb417867a774ae3b8 100644 |
--- a/src/gpu/GrPipeline.h |
+++ b/src/gpu/GrPipeline.h |
@@ -33,6 +33,12 @@ public: |
/////////////////////////////////////////////////////////////////////////// |
/// @name Creation |
+ enum Flags { |
+ kHWAA_Flag = 0x1, |
+ kSnapVertices_Flag = 0x2, |
+ kCoCenterSamples_Flag = 0x4 |
+ }; |
+ |
struct CreateArgs { |
bsalomon
2015/11/09 19:26:46
Perhaps CreateArgs should take an GrAppliedClip ra
Chris Dalton
2015/11/09 19:49:36
Ok, that's a good idea. And GrAppliedClip doesn't
|
const GrPipelineBuilder* fPipelineBuilder; |
const GrCaps* fCaps; |
@@ -40,6 +46,8 @@ public: |
GrProcOptInfo fCoveragePOI; |
const GrScissorState* fScissor; |
GrXferProcessor::DstTexture fDstTexture; |
+ uint32_t fAdditionalFlags; |
+ uint32_t fBlockedFlags; |
}; |
/** Creates a pipeline into a pre-allocated buffer */ |
@@ -125,6 +133,7 @@ public: |
bool isHWAntialiasState() const { return SkToBool(fFlags & kHWAA_Flag); } |
bool snapVerticesToPixelCenters() const { return SkToBool(fFlags & kSnapVertices_Flag); } |
+ bool hasCoCenteredSamples() const { return SkToBool(fFlags & kCoCenterSamples_Flag); } |
GrXferBarrierType xferBarrierType(const GrCaps& caps) const { |
return fXferProcessor->xferBarrierType(fRenderTarget.get(), caps); |
@@ -163,11 +172,6 @@ private: |
void setOutputStateInfo(const GrPipelineBuilder& ds, GrXferProcessor::OptFlags, |
const GrCaps&); |
- enum Flags { |
- kHWAA_Flag = 0x1, |
- kSnapVertices_Flag = 0x2, |
- }; |
- |
typedef GrPendingIOResource<GrRenderTarget, kWrite_GrIOType> RenderTarget; |
typedef GrPendingProgramElement<const GrFragmentProcessor> PendingFragmentProcessor; |
typedef SkAutoSTArray<8, PendingFragmentProcessor> FragmentProcessorArray; |