| OLD | NEW | 
|    1  |    1  | 
|    2 /* |    2 /* | 
|    3  * Copyright 2012 Google Inc. |    3  * Copyright 2012 Google Inc. | 
|    4  * |    4  * | 
|    5  * Use of this source code is governed by a BSD-style license that can be |    5  * Use of this source code is governed by a BSD-style license that can be | 
|    6  * found in the LICENSE file. |    6  * found in the LICENSE file. | 
|    7  */ |    7  */ | 
|    8  |    8  | 
|    9 #include "gl/builders/GrGLProgramBuilder.h" |    9 #include "gl/builders/GrGLProgramBuilder.h" | 
|   10 #include "GrAAConvexPathRenderer.h" |   10 #include "GrAAConvexPathRenderer.h" | 
| (...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  523     } |  523     } | 
|  524  |  524  | 
|  525     const GrShaderVar& inQuadEdge() const { return fInQuadEdge; } |  525     const GrShaderVar& inQuadEdge() const { return fInQuadEdge; } | 
|  526  |  526  | 
|  527     virtual const GrBackendEffectFactory& getFactory() const SK_OVERRIDE { |  527     virtual const GrBackendEffectFactory& getFactory() const SK_OVERRIDE { | 
|  528         return GrTBackendEffectFactory<QuadEdgeEffect>::getInstance(); |  528         return GrTBackendEffectFactory<QuadEdgeEffect>::getInstance(); | 
|  529     } |  529     } | 
|  530  |  530  | 
|  531     class GLEffect : public GrGLGeometryProcessor { |  531     class GLEffect : public GrGLGeometryProcessor { | 
|  532     public: |  532     public: | 
|  533         GLEffect(const GrBackendEffectFactory& factory, const GrDrawEffect&) |  533         GLEffect(const GrBackendEffectFactory& factory, const GrEffect&) | 
|  534             : INHERITED (factory) {} |  534             : INHERITED (factory) {} | 
|  535  |  535  | 
|  536         virtual void emitCode(GrGLFullProgramBuilder* builder, |  536         virtual void emitCode(GrGLFullProgramBuilder* builder, | 
|  537                               const GrDrawEffect& drawEffect, |  537                               const GrEffect& effect, | 
|  538                               const GrEffectKey& key, |  538                               const GrEffectKey& key, | 
|  539                               const char* outputColor, |  539                               const char* outputColor, | 
|  540                               const char* inputColor, |  540                               const char* inputColor, | 
|  541                               const TransformedCoordsArray&, |  541                               const TransformedCoordsArray&, | 
|  542                               const TextureSamplerArray& samplers) SK_OVERRIDE { |  542                               const TextureSamplerArray& samplers) SK_OVERRIDE { | 
|  543             const char *vsName, *fsName; |  543             const char *vsName, *fsName; | 
|  544             builder->addVarying(kVec4f_GrSLType, "QuadEdge", &vsName, &fsName); |  544             builder->addVarying(kVec4f_GrSLType, "QuadEdge", &vsName, &fsName); | 
|  545  |  545  | 
|  546             GrGLFragmentShaderBuilder* fsBuilder = builder->getFragmentShaderBui
     lder(); |  546             GrGLFragmentShaderBuilder* fsBuilder = builder->getFragmentShaderBui
     lder(); | 
|  547  |  547  | 
| (...skipping 14 matching lines...) Expand all  Loading... | 
|  562                                    fsName, fsName); |  562                                    fsName, fsName); | 
|  563             fsBuilder->codeAppendf("\t\t\tedgeAlpha = (%s.x*%s.x - %s.y);\n", fs
     Name, fsName, |  563             fsBuilder->codeAppendf("\t\t\tedgeAlpha = (%s.x*%s.x - %s.y);\n", fs
     Name, fsName, | 
|  564                                     fsName); |  564                                     fsName); | 
|  565             fsBuilder->codeAppendf("\t\t\tedgeAlpha = " |  565             fsBuilder->codeAppendf("\t\t\tedgeAlpha = " | 
|  566                                    "clamp(0.5 - edgeAlpha / length(gF), 0.0, 1.0
     );\n\t\t}\n"); |  566                                    "clamp(0.5 - edgeAlpha / length(gF), 0.0, 1.0
     );\n\t\t}\n"); | 
|  567  |  567  | 
|  568  |  568  | 
|  569             fsBuilder->codeAppendf("\t%s = %s;\n", outputColor, |  569             fsBuilder->codeAppendf("\t%s = %s;\n", outputColor, | 
|  570                                    (GrGLSLExpr4(inputColor) * GrGLSLExpr1("edgeA
     lpha")).c_str()); |  570                                    (GrGLSLExpr4(inputColor) * GrGLSLExpr1("edgeA
     lpha")).c_str()); | 
|  571  |  571  | 
|  572             const GrShaderVar& inQuadEdge = drawEffect.castEffect<QuadEdgeEffect
     >().inQuadEdge(); |  572             const GrShaderVar& inQuadEdge = effect.cast<QuadEdgeEffect>().inQuad
     Edge(); | 
|  573             GrGLVertexShaderBuilder* vsBuilder = builder->getVertexShaderBuilder
     (); |  573             GrGLVertexShaderBuilder* vsBuilder = builder->getVertexShaderBuilder
     (); | 
|  574             vsBuilder->codeAppendf("\t%s = %s;\n", vsName, inQuadEdge.c_str()); |  574             vsBuilder->codeAppendf("\t%s = %s;\n", vsName, inQuadEdge.c_str()); | 
|  575         } |  575         } | 
|  576  |  576  | 
|  577         static inline void GenKey(const GrDrawEffect&, const GrGLCaps&, GrEffect
     KeyBuilder*) {} |  577         static inline void GenKey(const GrEffect&, const GrGLCaps&, GrEffectKeyB
     uilder*) {} | 
|  578  |  578  | 
|  579         virtual void setData(const GrGLProgramDataManager&, const GrDrawEffect&)
      SK_OVERRIDE {} |  579         virtual void setData(const GrGLProgramDataManager&, const GrEffect&) SK_
     OVERRIDE {} | 
|  580  |  580  | 
|  581     private: |  581     private: | 
|  582         typedef GrGLGeometryProcessor INHERITED; |  582         typedef GrGLGeometryProcessor INHERITED; | 
|  583     }; |  583     }; | 
|  584  |  584  | 
|  585 private: |  585 private: | 
|  586     QuadEdgeEffect() |  586     QuadEdgeEffect() | 
|  587         : fInQuadEdge(this->addVertexAttrib(GrShaderVar("inQuadEdge", |  587         : fInQuadEdge(this->addVertexAttrib(GrShaderVar("inQuadEdge", | 
|  588                                                         kVec4f_GrSLType, |  588                                                         kVec4f_GrSLType, | 
|  589                                                         GrShaderVar::kAttribute_
     TypeModifier))) { |  589                                                         GrShaderVar::kAttribute_
     TypeModifier))) { | 
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  713                             vOffset,  // start vertex |  713                             vOffset,  // start vertex | 
|  714                             0,        // start index |  714                             0,        // start index | 
|  715                             draw.fVertexCnt, |  715                             draw.fVertexCnt, | 
|  716                             draw.fIndexCnt, |  716                             draw.fIndexCnt, | 
|  717                             &devBounds); |  717                             &devBounds); | 
|  718         vOffset += draw.fVertexCnt; |  718         vOffset += draw.fVertexCnt; | 
|  719     } |  719     } | 
|  720  |  720  | 
|  721     return true; |  721     return true; | 
|  722 } |  722 } | 
| OLD | NEW |