Index: src/gpu/GrTargetCommands.h |
diff --git a/src/gpu/GrTargetCommands.h b/src/gpu/GrTargetCommands.h |
index 4f804c31b913aa7590cd7e44bb6c9e89aeb73fe9..5d9cdfc5be8ce30d3c9ec94651ab7f298f2728cf 100644 |
--- a/src/gpu/GrTargetCommands.h |
+++ b/src/gpu/GrTargetCommands.h |
@@ -30,8 +30,6 @@ public: |
class Cmd : ::SkNoncopyable { |
public: |
enum CmdType { |
- kDrawPath_CmdType = 2, |
- kDrawPaths_CmdType = 3, |
kDrawBatch_CmdType = 4, |
}; |
@@ -73,88 +71,6 @@ private: |
typedef GrGpu::DrawArgs DrawArgs; |
- // TODO: This can be just a pipeline once paths are in batch, and it should live elsewhere |
- struct StateForPathDraw : public SkNVRefCnt<StateForPathDraw> { |
- // TODO get rid of the prim proc parameter when we use batch everywhere |
- StateForPathDraw(const GrPrimitiveProcessor* primProc = nullptr) |
- : fPrimitiveProcessor(primProc) |
- , fCompiled(false) {} |
- |
- ~StateForPathDraw() { reinterpret_cast<GrPipeline*>(fPipeline.get())->~GrPipeline(); } |
- |
- // This function is only for getting the location in memory where we will create our |
- // pipeline object. |
- void* pipelineLocation() { return fPipeline.get(); } |
- |
- const GrPipeline* getPipeline() const { |
- return reinterpret_cast<const GrPipeline*>(fPipeline.get()); |
- } |
- GrRenderTarget* getRenderTarget() const { |
- return this->getPipeline()->getRenderTarget(); |
- } |
- const GrXferProcessor* getXferProcessor() const { |
- return this->getPipeline()->getXferProcessor(); |
- } |
- |
- void operator delete(void* p) {} |
- void* operator new(size_t) { |
- SkFAIL("All States are created by placement new."); |
- return sk_malloc_throw(0); |
- } |
- |
- void* operator new(size_t, void* p) { return p; } |
- void operator delete(void* target, void* placement) { |
- ::operator delete(target, placement); |
- } |
- |
- typedef GrPendingProgramElement<const GrPrimitiveProcessor> ProgramPrimitiveProcessor; |
- ProgramPrimitiveProcessor fPrimitiveProcessor; |
- SkAlignedSStorage<sizeof(GrPipeline)> fPipeline; |
- GrProgramDesc fDesc; |
- GrBatchTracker fBatchTracker; |
- bool fCompiled; |
- }; |
- // TODO remove this when State is just a pipeline |
- friend SkNVRefCnt<StateForPathDraw>; |
- |
- struct DrawPath : public Cmd { |
- DrawPath(StateForPathDraw* state, const GrPath* path) |
- : Cmd(kDrawPath_CmdType) |
- , fState(SkRef(state)) |
- , fPath(path) {} |
- |
- const GrPath* path() const { return fPath.get(); } |
- |
- void execute(GrBatchFlushState*) override; |
- |
- SkAutoTUnref<StateForPathDraw> fState; |
- GrStencilSettings fStencilSettings; |
- private: |
- GrPendingIOResource<const GrPath, kRead_GrIOType> fPath; |
- }; |
- |
- struct DrawPaths : public Cmd { |
- DrawPaths(StateForPathDraw* state, const GrPathRange* pathRange) |
- : Cmd(kDrawPaths_CmdType) |
- , fState(SkRef(state)) |
- , fPathRange(pathRange) {} |
- |
- const GrPathRange* pathRange() const { return fPathRange.get(); } |
- |
- void execute(GrBatchFlushState*) override; |
- |
- SkAutoTUnref<StateForPathDraw> fState; |
- char* fIndices; |
- GrDrawTarget::PathIndexType fIndexType; |
- float* fTransforms; |
- GrDrawTarget::PathTransformType fTransformType; |
- int fCount; |
- GrStencilSettings fStencilSettings; |
- |
- private: |
- GrPendingIOResource<const GrPathRange, kRead_GrIOType> fPathRange; |
- }; |
- |
struct DrawBatch : public Cmd { |
DrawBatch(GrBatch* batch) |
: Cmd(kDrawBatch_CmdType) |