| Index: include/gpu/GrProcessor.h
|
| diff --git a/include/gpu/GrProcessor.h b/include/gpu/GrProcessor.h
|
| index 7991a069d1f8b11c6177480b2fb88ca1a1975677..b41f94d25af08c48c82a9df15a9843146f9bf838 100644
|
| --- a/include/gpu/GrProcessor.h
|
| +++ b/include/gpu/GrProcessor.h
|
| @@ -12,12 +12,8 @@
|
| #include "GrColor.h"
|
| #include "GrProcessorUnitTest.h"
|
| #include "GrProgramElement.h"
|
| -#include "GrShaderVar.h"
|
| #include "GrTextureAccess.h"
|
| -#include "GrTypesPriv.h"
|
| -#include "SkString.h"
|
|
|
| -class GrBackendProcessorFactory;
|
| class GrContext;
|
| class GrCoordTransform;
|
|
|
| @@ -240,93 +236,4 @@ private:
|
| typedef GrProgramElement INHERITED;
|
| };
|
|
|
| -class GrFragmentProcessor : public GrProcessor {
|
| -public:
|
| - GrFragmentProcessor()
|
| - : INHERITED()
|
| - , fWillReadDstColor(false)
|
| - , fWillUseInputColor(true) {}
|
| -
|
| - virtual const GrBackendFragmentProcessorFactory& getFactory() const = 0;
|
| -
|
| - int numTransforms() const { return fCoordTransforms.count(); }
|
| -
|
| - /** Returns the coordinate transformation at index. index must be valid according to
|
| - numTransforms(). */
|
| - const GrCoordTransform& coordTransform(int index) const { return *fCoordTransforms[index]; }
|
| -
|
| - /** Will this effect read the destination pixel value? */
|
| - bool willReadDstColor() const { return fWillReadDstColor; }
|
| -
|
| - /** Will this effect read the source color value? */
|
| - bool willUseInputColor() const { return fWillUseInputColor; }
|
| -
|
| - /** Returns true if this and other effect conservatively draw identically. It can only return
|
| - true when the two effects are of the same subclass (i.e. they return the same object from
|
| - from getFactory()).
|
| -
|
| - A return value of true from isEqual() should not be used to test whether the effects would
|
| - generate the same shader code. To test for identical code generation use the effects' keys
|
| - computed by the GrBackendEffectFactory. */
|
| - bool isEqual(const GrFragmentProcessor& other) const {
|
| - if (&this->getFactory() != &other.getFactory()) {
|
| - return false;
|
| - }
|
| - bool result = this->onIsEqual(other);
|
| -#ifdef SK_DEBUG
|
| - if (result) {
|
| - this->assertTexturesEqual(other);
|
| - }
|
| -#endif
|
| - return result;
|
| - }
|
| -
|
| -protected:
|
| - /**
|
| - * Fragment Processor subclasses call this from their constructor to register coordinate
|
| - * transformations. The processor subclass manages the lifetime of the transformations (this
|
| - * function only stores a pointer). The GrCoordTransform is typically a member field of the
|
| - * GrProcessor subclass. When the matrix has perspective, the transformed coordinates will have
|
| - * 3 components. Otherwise they'll have 2. This must only be called from the constructor because
|
| - * GrProcessors are immutable.
|
| - */
|
| - void addCoordTransform(const GrCoordTransform*);
|
| -
|
| - /**
|
| - * If the effect subclass will read the destination pixel value then it must call this function
|
| - * from its constructor. Otherwise, when its generated backend-specific effect class attempts
|
| - * to generate code that reads the destination pixel it will fail.
|
| - */
|
| - void setWillReadDstColor() { fWillReadDstColor = true; }
|
| -
|
| - /**
|
| - * If the effect will generate a result that does not depend on the input color value then it
|
| - * must call this function from its constructor. Otherwise, when its generated backend-specific
|
| - * code might fail during variable binding due to unused variables.
|
| - */
|
| - void setWillNotUseInputColor() { fWillUseInputColor = false; }
|
| -
|
| -private:
|
| - /** Subclass implements this to support isEqual(). It will only be called if it is known that
|
| - the two effects are of the same subclass (i.e. they return the same object from
|
| - getFactory()).*/
|
| - virtual bool onIsEqual(const GrFragmentProcessor& other) const = 0;
|
| -
|
| - SkSTArray<4, const GrCoordTransform*, true> fCoordTransforms;
|
| - bool fWillReadDstColor;
|
| - bool fWillUseInputColor;
|
| -
|
| - typedef GrProcessor INHERITED;
|
| -};
|
| -
|
| -/**
|
| - * This creates an effect outside of the effect memory pool. The effect's destructor will be called
|
| - * at global destruction time. NAME will be the name of the created GrProcessor.
|
| - */
|
| -#define GR_CREATE_STATIC_FRAGMENT_PROCESSOR(NAME, EFFECT_CLASS, ARGS) \
|
| -static SkAlignedSStorage<sizeof(EFFECT_CLASS)> g_##NAME##_Storage; \
|
| -static GrFragmentProcessor* \
|
| -NAME SkNEW_PLACEMENT_ARGS(g_##NAME##_Storage.get(), EFFECT_CLASS, ARGS); \
|
| -static SkAutoTDestroy<GrFragmentProcessor> NAME##_ad(NAME);
|
| -
|
| #endif
|
|
|