| Index: include/gpu/GrTBackendProcessorFactory.h
|
| diff --git a/include/gpu/GrTBackendProcessorFactory.h b/include/gpu/GrTBackendProcessorFactory.h
|
| deleted file mode 100644
|
| index 98b5d6cb7e89239a18576a1fe6544507a304d82d..0000000000000000000000000000000000000000
|
| --- a/include/gpu/GrTBackendProcessorFactory.h
|
| +++ /dev/null
|
| @@ -1,148 +0,0 @@
|
| -/*
|
| - * Copyright 2012 Google Inc.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license that can be
|
| - * found in the LICENSE file.
|
| - */
|
| -
|
| -#ifndef GrTBackendProcessorFactory_DEFINED
|
| -#define GrTBackendProcessorFactory_DEFINED
|
| -
|
| -#include "GrBackendProcessorFactory.h"
|
| -
|
| -/**
|
| - * Implements GrBackendProcessorFactory for a GrProcessor subclass as a singleton. This can be used
|
| - * by most GrProcessor subclasses to implement the GrProcessor::getFactory() method:
|
| - *
|
| - * const GrBackendProcessorFactory& MyProcessor::getFactory() const {
|
| - * return GrTBackendProcessorFactory<MyProcessor>::getInstance();
|
| - * }
|
| - *
|
| - * Using this class requires that the GrProcessor subclass always produces the same GrGLProcessor
|
| - * subclass. Additionally, it adds the following requirements to the GrProcessor and GrGLProcessor
|
| - * subclasses:
|
| - *
|
| - * 1. The GrGLProcessor used by GrProcessor subclass MyProcessor must be named or typedef'ed to
|
| - * MyProcessor::GLProcessor.
|
| - * 2. MyProcessor::GLProcessor must have a static function:
|
| - void GenKey(const GrProcessor&, const GrGLCaps&, GrProcessorKeyBuilder* b)
|
| - * which generates a key that maps 1 to 1 with code variations emitted by
|
| - * MyProcessor::GLProcessor::emitCode().
|
| - * 3. MyProcessor must have a static function:
|
| - * const char* Name()
|
| - * which returns a human-readable name for the processor.
|
| - */
|
| -template <class ProcessorClass, class BackEnd, class ProcessorBase, class GLProcessorBase>
|
| -class GrTBackendProcessorFactory : public BackEnd {
|
| -public:
|
| - typedef typename ProcessorClass::GLProcessor GLProcessor;
|
| -
|
| - /** Returns a human-readable name for the processor. Implemented using GLProcessor::Name as
|
| - * described in this class's comment. */
|
| - virtual const char* name() const SK_OVERRIDE { return ProcessorClass::Name(); }
|
| -
|
| - /** Returns a new instance of the appropriate *GL* implementation class
|
| - for the given GrProcessor; caller is responsible for deleting
|
| - the object. */
|
| - virtual GLProcessorBase* createGLInstance(const ProcessorBase& processor) const SK_OVERRIDE {
|
| - return SkNEW_ARGS(GLProcessor, (*this, processor));
|
| - }
|
| -
|
| - /** This class is a singleton. This function returns the single instance. */
|
| - static const BackEnd& getInstance() {
|
| - static SkAlignedSTStorage<1, GrTBackendProcessorFactory> gInstanceMem;
|
| - static const GrTBackendProcessorFactory* gInstance;
|
| - if (!gInstance) {
|
| - gInstance = SkNEW_PLACEMENT(gInstanceMem.get(),
|
| - GrTBackendProcessorFactory);
|
| - }
|
| - return *gInstance;
|
| - }
|
| -
|
| -protected:
|
| - GrTBackendProcessorFactory() {}
|
| -};
|
| -
|
| -/*
|
| - * Every processor so far derives from one of the following subclasses of
|
| - * GrTBackendProcessorFactory. All of this machinery is necessary to ensure that creatGLInstace is
|
| - * typesafe and does not require any casting.
|
| - */
|
| -template <class ProcessorClass>
|
| -class GrTBackendGeometryProcessorFactory : public GrBackendGeometryProcessorFactory {
|
| -public:
|
| - typedef typename ProcessorClass::GLProcessor GLProcessor;
|
| -
|
| - /** Returns a human-readable name for the processor. Implemented using GLProcessor::Name as
|
| - * described in this class's comment. */
|
| - virtual const char* name() const SK_OVERRIDE { return ProcessorClass::Name(); }
|
| -
|
| - /** Implemented using GLProcessor::GenKey as described in this class's comment. */
|
| - virtual void getGLProcessorKey(const GrGeometryProcessor& processor,
|
| - const GrBatchTracker& bt,
|
| - const GrGLCaps& caps,
|
| - GrProcessorKeyBuilder* b) const SK_OVERRIDE {
|
| - GLProcessor::GenKey(processor, bt, caps, b);
|
| - }
|
| -
|
| -
|
| - /** Returns a new instance of the appropriate *GL* implementation class
|
| - for the given GrProcessor; caller is responsible for deleting
|
| - the object. */
|
| - virtual GrGLGeometryProcessor* createGLInstance(const GrGeometryProcessor& gp,
|
| - const GrBatchTracker& bt) const SK_OVERRIDE {
|
| - return SkNEW_ARGS(GLProcessor, (*this, gp, bt));
|
| - }
|
| -
|
| - /** This class is a singleton. This function returns the single instance. */
|
| - static const GrBackendGeometryProcessorFactory& getInstance() {
|
| - static SkAlignedSTStorage<1, GrTBackendGeometryProcessorFactory> gInstanceMem;
|
| - static const GrTBackendGeometryProcessorFactory* gInstance;
|
| - if (!gInstance) {
|
| - gInstance = SkNEW_PLACEMENT(gInstanceMem.get(),
|
| - GrTBackendGeometryProcessorFactory);
|
| - }
|
| - return *gInstance;
|
| - }
|
| -protected:
|
| - GrTBackendGeometryProcessorFactory() {}
|
| -};
|
| -
|
| -template <class ProcessorClass>
|
| -class GrTBackendFragmentProcessorFactory : public GrBackendFragmentProcessorFactory {
|
| -public:
|
| - typedef typename ProcessorClass::GLProcessor GLProcessor;
|
| -
|
| - /** Returns a human-readable name for the processor. Implemented using GLProcessor::Name as
|
| - * described in this class's comment. */
|
| - virtual const char* name() const SK_OVERRIDE { return ProcessorClass::Name(); }
|
| -
|
| - /** Implemented using GLProcessor::GenKey as described in this class's comment. */
|
| - virtual void getGLProcessorKey(const GrFragmentProcessor& processor,
|
| - const GrGLCaps& caps,
|
| - GrProcessorKeyBuilder* b) const SK_OVERRIDE {
|
| - GLProcessor::GenKey(processor, caps, b);
|
| - }
|
| -
|
| - /** Returns a new instance of the appropriate *GL* implementation class
|
| - for the given GrProcessor; caller is responsible for deleting
|
| - the object. */
|
| - virtual GrGLFragmentProcessor* createGLInstance(const GrFragmentProcessor& gp) const SK_OVERRIDE {
|
| - return SkNEW_ARGS(GLProcessor, (*this, gp));
|
| - }
|
| -
|
| - /** This class is a singleton. This function returns the single instance. */
|
| - static const GrBackendFragmentProcessorFactory& getInstance() {
|
| - static SkAlignedSTStorage<1, GrTBackendFragmentProcessorFactory> gInstanceMem;
|
| - static const GrTBackendFragmentProcessorFactory* gInstance;
|
| - if (!gInstance) {
|
| - gInstance = SkNEW_PLACEMENT(gInstanceMem.get(),
|
| - GrTBackendFragmentProcessorFactory);
|
| - }
|
| - return *gInstance;
|
| - }
|
| -protected:
|
| - GrTBackendFragmentProcessorFactory() {}
|
| -};
|
| -
|
| -#endif
|
|
|