| Index: src/gpu/gl/GrGLGeometryProcessor.h | 
| diff --git a/src/gpu/gl/GrGLGeometryProcessor.h b/src/gpu/gl/GrGLGeometryProcessor.h | 
| index da6c34731445c4c0dcd45912be8a5c5d18a2f66d..e8b16afe338672fdb08dec62e1c63235ba3676be 100644 | 
| --- a/src/gpu/gl/GrGLGeometryProcessor.h | 
| +++ b/src/gpu/gl/GrGLGeometryProcessor.h | 
| @@ -8,126 +8,10 @@ | 
| #ifndef GrGLGeometryProcessor_DEFINED | 
| #define GrGLGeometryProcessor_DEFINED | 
|  | 
| -#include "GrGLProcessor.h" | 
| +#include "GrGLPrimitiveProcessor.h" | 
|  | 
| -class GrBatchTracker; | 
| -class GrFragmentProcessor; | 
| -class GrGLGPBuilder; | 
| - | 
| -class GrGLPrimitiveProcessor { | 
| -public: | 
| -    GrGLPrimitiveProcessor() : fViewMatrixName(NULL) { fViewMatrix = SkMatrix::InvalidMatrix(); } | 
| -    virtual ~GrGLPrimitiveProcessor() {} | 
| - | 
| -    typedef GrGLProgramDataManager::UniformHandle UniformHandle; | 
| -    typedef GrGLProcessor::TextureSamplerArray TextureSamplerArray; | 
| - | 
| -    typedef SkSTArray<2, const GrCoordTransform*, true> ProcCoords; | 
| -    typedef SkSTArray<8, ProcCoords> TransformsIn; | 
| -    typedef SkSTArray<8, GrGLProcessor::TransformedCoordsArray> TransformsOut; | 
| - | 
| -    struct EmitArgs { | 
| -        EmitArgs(GrGLGPBuilder* pb, | 
| -                 const GrPrimitiveProcessor& gp, | 
| -                 const GrBatchTracker& bt, | 
| -                 const char* outputColor, | 
| -                 const char* outputCoverage, | 
| -                 const TextureSamplerArray& samplers, | 
| -                 const TransformsIn& transformsIn, | 
| -                 TransformsOut* transformsOut) | 
| -            : fPB(pb) | 
| -            , fGP(gp) | 
| -            , fBT(bt) | 
| -            , fOutputColor(outputColor) | 
| -            , fOutputCoverage(outputCoverage) | 
| -            , fSamplers(samplers) | 
| -            , fTransformsIn(transformsIn) | 
| -            , fTransformsOut(transformsOut) {} | 
| -        GrGLGPBuilder* fPB; | 
| -        const GrPrimitiveProcessor& fGP; | 
| -        const GrBatchTracker& fBT; | 
| -        const char* fOutputColor; | 
| -        const char* fOutputCoverage; | 
| -        const TextureSamplerArray& fSamplers; | 
| -        const TransformsIn& fTransformsIn; | 
| -        TransformsOut* fTransformsOut; | 
| -    }; | 
| - | 
| -    /** | 
| -     * This is similar to emitCode() in the base class, except it takes a full shader builder. | 
| -     * This allows the effect subclass to emit vertex code. | 
| -     */ | 
| -    virtual void emitCode(EmitArgs&) = 0; | 
| - | 
| - | 
| -    /** A GrGLPrimitiveProcessor instance can be reused with any GrGLPrimitiveProcessor that | 
| -        produces the same stage key; this function reads data from a GrGLPrimitiveProcessor and | 
| -        uploads any uniform variables required  by the shaders created in emitCode(). The | 
| -        GrPrimitiveProcessor parameter is guaranteed to be of the same type that created this | 
| -        GrGLPrimitiveProcessor and to have an identical processor key as the one that created this | 
| -        GrGLPrimitiveProcessor.  */ | 
| -    virtual void setData(const GrGLProgramDataManager&, | 
| -                         const GrPrimitiveProcessor&, | 
| -                         const GrBatchTracker&) = 0; | 
| - | 
| -    static SkMatrix GetTransformMatrix(const SkMatrix& localMatrix, const GrCoordTransform&); | 
| - | 
| -protected: | 
| -    /** a helper which can setup vertex, constant, or uniform color depending on inputType. | 
| -     *  This function will only do the minimum required to emit the correct shader code.  If | 
| -     *  inputType == attribute, then colorAttr must not be NULL.  Likewise, if inputType == Uniform | 
| -     *  then colorUniform must not be NULL. | 
| -     */ | 
| -    void setupColorPassThrough(GrGLGPBuilder* pb, | 
| -                               GrGPInput inputType, | 
| -                               const char* inputName, | 
| -                               const GrGeometryProcessor::Attribute* colorAttr, | 
| -                               UniformHandle* colorUniform); | 
| - | 
| -    const char* uViewM() const { return fViewMatrixName; } | 
| - | 
| -    /** a helper function to setup the uniform handle for the uniform view matrix */ | 
| -    void addUniformViewMatrix(GrGLGPBuilder*); | 
| - | 
| - | 
| -    /** a helper function to upload a uniform viewmatrix. | 
| -     * TODO we can remove this function when we have deferred geometry in place | 
| -     */ | 
| -    void setUniformViewMatrix(const GrGLProgramDataManager&, | 
| -                              const SkMatrix& viewMatrix); | 
| - | 
| -    class ShaderVarHandle { | 
| -    public: | 
| -        bool isValid() const { return fHandle > -1; } | 
| -        ShaderVarHandle() : fHandle(-1) {} | 
| -        ShaderVarHandle(int value) : fHandle(value) { SkASSERT(this->isValid()); } | 
| -        int handle() const { SkASSERT(this->isValid()); return fHandle; } | 
| -        UniformHandle convertToUniformHandle() { | 
| -            SkASSERT(this->isValid()); | 
| -            return GrGLProgramDataManager::UniformHandle::CreateFromUniformIndex(fHandle); | 
| -        } | 
| - | 
| -    private: | 
| -        int fHandle; | 
| -    }; | 
| - | 
| -    struct Transform { | 
| -        Transform() : fType(kVoid_GrSLType) { fCurrentValue = SkMatrix::InvalidMatrix(); } | 
| -        ShaderVarHandle fHandle; | 
| -        SkMatrix       fCurrentValue; | 
| -        GrSLType       fType; | 
| -    }; | 
| - | 
| -    SkSTArray<8, SkSTArray<2, Transform, true> > fInstalledTransforms; | 
| - | 
| -private: | 
| -    UniformHandle fViewMatrixUniform; | 
| -    SkMatrix fViewMatrix; | 
| -    const char* fViewMatrixName; | 
| -}; | 
| - | 
| -class GrGLPathRendering; | 
| class GrGLVertexBuilder; | 
| + | 
| /** | 
| * If a GL effect needs a GrGLFullShaderBuilder* object to emit vertex code, then it must inherit | 
| * from this class. Since paths don't have vertices, this class is only meant to be used internally | 
| @@ -189,40 +73,4 @@ private: | 
| typedef GrGLPrimitiveProcessor INHERITED; | 
| }; | 
|  | 
| -class GrGLGpu; | 
| - | 
| -class GrGLPathProcessor : public GrGLPrimitiveProcessor { | 
| -public: | 
| -    GrGLPathProcessor(const GrPathProcessor&, const GrBatchTracker&); | 
| - | 
| -    static void GenKey(const GrPathProcessor&, | 
| -                       const GrBatchTracker& bt, | 
| -                       const GrGLCaps&, | 
| -                       GrProcessorKeyBuilder* b); | 
| - | 
| -    void emitCode(EmitArgs&) SK_OVERRIDE; | 
| - | 
| -    virtual void emitTransforms(GrGLGPBuilder*, const TransformsIn&, TransformsOut*) = 0; | 
| - | 
| -    virtual void resolveSeparableVaryings(GrGLGpu* gpu, GrGLuint programId) {} | 
| - | 
| -    void setData(const GrGLProgramDataManager&, | 
| -                 const GrPrimitiveProcessor&, | 
| -                 const GrBatchTracker&) SK_OVERRIDE; | 
| - | 
| -    virtual void setTransformData(const GrPrimitiveProcessor&, | 
| -                                  int index, | 
| -                                  const SkTArray<const GrCoordTransform*, true>& transforms, | 
| -                                  GrGLPathRendering*, | 
| -                                  GrGLuint programID) = 0; | 
| - | 
| -    virtual void didSetData(GrGLPathRendering*) {} | 
| - | 
| -private: | 
| -    UniformHandle fColorUniform; | 
| -    GrColor fColor; | 
| - | 
| -    typedef GrGLPrimitiveProcessor INHERITED; | 
| -}; | 
| - | 
| #endif | 
|  |