| 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 "GrAAConvexPathRenderer.h" | 9 #include "GrAAConvexPathRenderer.h" | 
| 10 | 10 | 
| (...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 520 | 520 | 
| 521     const GrAttribute* inPosition() const { return fInPosition; } | 521     const GrAttribute* inPosition() const { return fInPosition; } | 
| 522     const GrAttribute* inQuadEdge() const { return fInQuadEdge; } | 522     const GrAttribute* inQuadEdge() const { return fInQuadEdge; } | 
| 523 | 523 | 
| 524     virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR
     IDE { | 524     virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR
     IDE { | 
| 525         return GrTBackendGeometryProcessorFactory<QuadEdgeEffect>::getInstance()
     ; | 525         return GrTBackendGeometryProcessorFactory<QuadEdgeEffect>::getInstance()
     ; | 
| 526     } | 526     } | 
| 527 | 527 | 
| 528     class GLProcessor : public GrGLGeometryProcessor { | 528     class GLProcessor : public GrGLGeometryProcessor { | 
| 529     public: | 529     public: | 
| 530         GLProcessor(const GrBackendProcessorFactory& factory, const GrProcessor&
     ) | 530         GLProcessor(const GrBackendProcessorFactory& factory, | 
|  | 531                     const GrGeometryProcessor&, | 
|  | 532                     const GrBatchTracker&) | 
| 531             : INHERITED (factory) {} | 533             : INHERITED (factory) {} | 
| 532 | 534 | 
| 533         virtual void emitCode(const EmitArgs& args) SK_OVERRIDE { | 535         virtual void emitCode(const EmitArgs& args) SK_OVERRIDE { | 
| 534             const QuadEdgeEffect& qe = args.fGP.cast<QuadEdgeEffect>(); | 536             const QuadEdgeEffect& qe = args.fGP.cast<QuadEdgeEffect>(); | 
| 535             GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder(); | 537             GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder(); | 
| 536 | 538 | 
| 537             GrGLVertToFrag v(kVec4f_GrSLType); | 539             GrGLVertToFrag v(kVec4f_GrSLType); | 
| 538             args.fPB->addVarying("QuadEdge", &v); | 540             args.fPB->addVarying("QuadEdge", &v); | 
| 539             vsBuilder->codeAppendf("%s = %s;", v.vsOut(), qe.inQuadEdge()->fName
     ); | 541             vsBuilder->codeAppendf("%s = %s;", v.vsOut(), qe.inQuadEdge()->fName
     ); | 
| 540 | 542 | 
| (...skipping 23 matching lines...) Expand all  Loading... | 
| 564                                    "               2.0*%s.x*duvdy.x - duvdy.y);"
     , | 566                                    "               2.0*%s.x*duvdy.x - duvdy.y);"
     , | 
| 565                                    v.fsIn(), v.fsIn()); | 567                                    v.fsIn(), v.fsIn()); | 
| 566             fsBuilder->codeAppendf("edgeAlpha = (%s.x*%s.x - %s.y);", v.fsIn(), 
     v.fsIn(), | 568             fsBuilder->codeAppendf("edgeAlpha = (%s.x*%s.x - %s.y);", v.fsIn(), 
     v.fsIn(), | 
| 567                                     v.fsIn()); | 569                                     v.fsIn()); | 
| 568             fsBuilder->codeAppendf("edgeAlpha = " | 570             fsBuilder->codeAppendf("edgeAlpha = " | 
| 569                                    "clamp(0.5 - edgeAlpha / length(gF), 0.0, 1.0
     );}"); | 571                                    "clamp(0.5 - edgeAlpha / length(gF), 0.0, 1.0
     );}"); | 
| 570 | 572 | 
| 571             fsBuilder->codeAppendf("%s = vec4(edgeAlpha);", args.fOutputCoverage
     ); | 573             fsBuilder->codeAppendf("%s = vec4(edgeAlpha);", args.fOutputCoverage
     ); | 
| 572         } | 574         } | 
| 573 | 575 | 
| 574         static inline void GenKey(const GrProcessor&, const GrGLCaps&, GrProcess
     orKeyBuilder*) {} | 576         static inline void GenKey(const GrGeometryProcessor&, | 
|  | 577                                   const GrBatchTracker&, | 
|  | 578                                   const GrGLCaps&, | 
|  | 579                                   GrProcessorKeyBuilder*) {} | 
| 575 | 580 | 
| 576         virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) 
     SK_OVERRIDE {} | 581         virtual void setData(const GrGLProgramDataManager&, | 
|  | 582                              const GrGeometryProcessor&, | 
|  | 583                              const GrBatchTracker&) SK_OVERRIDE {} | 
| 577 | 584 | 
| 578     private: | 585     private: | 
| 579         typedef GrGLGeometryProcessor INHERITED; | 586         typedef GrGLGeometryProcessor INHERITED; | 
| 580     }; | 587     }; | 
| 581 | 588 | 
| 582 private: | 589 private: | 
| 583     QuadEdgeEffect() { | 590     QuadEdgeEffect() { | 
| 584         fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_Gr
     VertexAttribType)); | 591         fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_Gr
     VertexAttribType)); | 
| 585         fInQuadEdge = &this->addVertexAttrib(GrAttribute("inQuadEdge", kVec4f_Gr
     VertexAttribType)); | 592         fInQuadEdge = &this->addVertexAttrib(GrAttribute("inQuadEdge", kVec4f_Gr
     VertexAttribType)); | 
| 586     } | 593     } | 
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 705                             vOffset,  // start vertex | 712                             vOffset,  // start vertex | 
| 706                             0,        // start index | 713                             0,        // start index | 
| 707                             draw.fVertexCnt, | 714                             draw.fVertexCnt, | 
| 708                             draw.fIndexCnt, | 715                             draw.fIndexCnt, | 
| 709                             &devBounds); | 716                             &devBounds); | 
| 710         vOffset += draw.fVertexCnt; | 717         vOffset += draw.fVertexCnt; | 
| 711     } | 718     } | 
| 712 | 719 | 
| 713     return true; | 720     return true; | 
| 714 } | 721 } | 
| OLD | NEW | 
|---|