| Index: src/gpu/GrCommandBuilder.h
|
| diff --git a/src/gpu/GrCommandBuilder.h b/src/gpu/GrCommandBuilder.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cd9945265afdfd8870f1b564310cfeca653cc6f8
|
| --- /dev/null
|
| +++ b/src/gpu/GrCommandBuilder.h
|
| @@ -0,0 +1,56 @@
|
| +/*
|
| + * Copyright 2015 Google Inc.
|
| + *
|
| + * Use of this source code is governed by a BSD-style license that can be
|
| + * found in the LICENSE file.
|
| + */
|
| +
|
| +#ifndef GrCommandBuilder_DEFINED
|
| +#define GrCommandBuilder_DEFINED
|
| +
|
| +#include "GrTargetCommands.h"
|
| +
|
| +class GrGpu;
|
| +class GrResourceProvider;
|
| +class GrBufferedDrawTarget;
|
| +
|
| +class GrCommandBuilder : ::SkNoncopyable {
|
| +public:
|
| + bool empty() const { return fCommands.empty(); }
|
| + typedef GrTargetCommands::Cmd Cmd;
|
| + typedef GrTargetCommands::StateForPathDraw State;
|
| +
|
| + static GrCommandBuilder* Create(GrFoo* foo, GrGpu* gpu, bool reorder, GrRenderTarget* dst);
|
| +
|
| + virtual ~GrCommandBuilder() {}
|
| +
|
| + void reset() { fCommands.reset(); }
|
| + void flush(GrGpu* gpu, GrResourceProvider* rp) { fCommands.flush(gpu, rp); }
|
| +
|
| + virtual Cmd* recordDrawBatch(GrBatch*, const GrCaps&) = 0;
|
| + virtual Cmd* recordDrawPaths(State*,
|
| + GrBufferedDrawTarget*,
|
| + const GrPathProcessor*,
|
| + const GrPathRange*,
|
| + const void*,
|
| + GrDrawTarget::PathIndexType,
|
| + const float transformValues[],
|
| + GrDrawTarget::PathTransformType ,
|
| + int,
|
| + const GrStencilSettings&,
|
| + const GrPipelineOptimizations&) = 0;
|
| +
|
| +protected:
|
| + typedef GrTargetCommands::DrawBatch DrawBatch;
|
| + typedef GrTargetCommands::DrawPath DrawPath;
|
| + typedef GrTargetCommands::DrawPaths DrawPaths;
|
| +
|
| + GrCommandBuilder(GrFoo* foo, GrGpu* gpu, GrRenderTarget* dst) : fCommands(foo, gpu, dst) {}
|
| +
|
| + GrTargetCommands::CmdBuffer* cmdBuffer() { return fCommands.cmdBuffer(); }
|
| +private:
|
| + GrTargetCommands fCommands;
|
| +
|
| +};
|
| +
|
| +#endif
|
|
|