| 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)
|
|
|