Index: src/gpu/GrPipeline.h |
diff --git a/src/gpu/GrPipeline.h b/src/gpu/GrPipeline.h |
index 77adb368d74dab81ccd385271f6a5d9428b37e93..61e6e9247dcc36941f09b92200cda15c4a26efeb 100644 |
--- a/src/gpu/GrPipeline.h |
+++ b/src/gpu/GrPipeline.h |
@@ -29,12 +29,17 @@ class GrPipelineBuilder; |
*/ |
class GrPipeline : public GrNonAtomicRef { |
public: |
- GrPipeline(const GrPipelineBuilder&, |
- const GrProcOptInfo& colorPOI, |
- const GrProcOptInfo& coveragePOI, |
- const GrCaps&, |
- const GrScissorState&, |
- const GrXferProcessor::DstTexture*); |
+ /** Creates a pipeline into a pre-allocated buffer */ |
+ static GrPipeline* CreateAt(void* memory, |
+ const GrPipelineBuilder& pb, |
+ const GrProcOptInfo& colorPOI, |
+ const GrProcOptInfo& coveragePOI, |
+ const GrCaps& caps, |
+ const GrScissorState& scissor, |
+ const GrXferProcessor::DstTexture* dst) { |
+ return SkNEW_PLACEMENT_ARGS(memory, GrPipeline, (pb, colorPOI, coveragePOI, caps, scissor, |
+ dst)); |
+ } |
/* |
* Returns true if these pipelines are equivalent. Coord transforms may be applied either on |
@@ -108,6 +113,13 @@ public: |
} |
private: |
+ GrPipeline(const GrPipelineBuilder&, |
+ const GrProcOptInfo& colorPOI, |
+ const GrProcOptInfo& coveragePOI, |
+ const GrCaps&, |
+ const GrScissorState&, |
+ const GrXferProcessor::DstTexture*); |
+ |
/** |
* Alter the program desc and inputs (attribs and processors) based on the blend optimization. |
*/ |
@@ -149,7 +161,6 @@ private: |
int fNumColorStages; |
SkSTArray<8, const GrCoordTransform*, true> fCoordTransforms; |
- int fNumCoordTransforms; |
GrProgramDesc fDesc; |
typedef SkRefCnt INHERITED; |