| Index: src/gpu/gl/builders/GrGLVertexShaderBuilder.h
|
| diff --git a/src/gpu/gl/builders/GrGLVertexShaderBuilder.h b/src/gpu/gl/builders/GrGLVertexShaderBuilder.h
|
| index 7d6d95e5080c0fe0e8f5018ec57258158f2d9eec..dbff24fe838606f3ae45d8a158f4afb1b2a66bf4 100644
|
| --- a/src/gpu/gl/builders/GrGLVertexShaderBuilder.h
|
| +++ b/src/gpu/gl/builders/GrGLVertexShaderBuilder.h
|
| @@ -16,29 +16,20 @@ class GrGLVertexBuilder : public GrGLShaderBuilder {
|
| public:
|
| GrGLVertexBuilder(GrGLProgramBuilder* program);
|
|
|
| - /**
|
| - * Are explicit local coordinates provided as input to the vertex shader.
|
| - */
|
| - bool hasLocalCoords() const { return (fLocalCoordsVar != fPositionVar); }
|
| -
|
| - /** Returns a vertex attribute that represents the local coords in the VS. This may be the same
|
| - as positionAttribute() or it may not be. It depends upon whether the rendering code
|
| - specified explicit local coords or not in the GrDrawState. */
|
| - const GrGLShaderVar& localCoordsAttribute() const { return *fLocalCoordsVar; }
|
| -
|
| - /** Returns a vertex attribute that represents the vertex position in the VS. This is the
|
| - pre-matrix position and is commonly used by effects to compute texture coords via a matrix.
|
| - */
|
| - const GrGLShaderVar& positionAttribute() const { return *fPositionVar; }
|
| -
|
| /** returns the expected position output */
|
| const char* glPosition() const { return "pos3"; }
|
| + const char* positionCoords() const { return "position"; }
|
| + const char* localCoords() const { return "localCoords"; }
|
|
|
| /** returns the expected uviewM matrix */
|
| // TODO all of this fixed function stuff can live on the GP/PP
|
| const char* uViewM() const { return "uViewM"; }
|
| - const char* inPosition() const { return "inPosition"; }
|
|
|
| + void addAttribute(const GrGeometryProcessor::GrAttribute* attr) {
|
| + this->addAttribute(GrShaderVar(attr->fName,
|
| + GrVertexAttribTypeToSLType(attr->fType),
|
| + GrShaderVar::kAttribute_TypeModifier));
|
| + }
|
|
|
| private:
|
| /*
|
| @@ -52,27 +43,14 @@ private:
|
| void transformToNormalizedDeviceSpace();
|
| //TODO GP itself should setup the uniform view matrix
|
| void setupUniformViewMatrix();
|
| - void setupPositionAndLocalCoords();
|
| - void setupBuiltinVertexAttribute(const char* inName, GrGLSLExpr1* out);
|
| - void setupBuiltinVertexAttribute(const char* inName, GrGLSLExpr4* out);
|
| void emitAttributes(const GrGeometryProcessor& gp);
|
| void bindVertexAttributes(GrGLuint programID);
|
| bool compileAndAttachShaders(GrGLuint programId, SkTDArray<GrGLuint>* shaderIds) const;
|
|
|
| // an internal call which checks for uniquness of a var before adding it to the list of inputs
|
| bool addAttribute(const GrShaderVar& var);
|
| - struct AttributePair {
|
| - void set(int index, const SkString& name) {
|
| - fIndex = index; fName = name;
|
| - }
|
| - int fIndex;
|
| - SkString fName;
|
| - };
|
|
|
| - GrGLShaderVar* fPositionVar;
|
| - GrGLShaderVar* fLocalCoordsVar;
|
| - const char* fRtAdjustName;
|
| - int fEffectAttribOffset;
|
| + const char* fRtAdjustName;
|
|
|
| friend class GrGLProgramBuilder;
|
|
|
|
|