| OLD | NEW | 
|---|
| 1 | 1 | 
| 2 /* | 2 /* | 
| 3  * Copyright 2006 The Android Open Source Project | 3  * Copyright 2006 The Android Open Source Project | 
| 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 "SkBlurMaskFilter.h" | 9 #include "SkBlurMaskFilter.h" | 
| 10 #include "SkBlurMask.h" | 10 #include "SkBlurMask.h" | 
| (...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 666 | 666 | 
| 667     typedef GrFragmentProcessor INHERITED; | 667     typedef GrFragmentProcessor INHERITED; | 
| 668 }; | 668 }; | 
| 669 | 669 | 
| 670 class GrGLRectBlurEffect : public GrGLFragmentProcessor { | 670 class GrGLRectBlurEffect : public GrGLFragmentProcessor { | 
| 671 public: | 671 public: | 
| 672     GrGLRectBlurEffect(const GrBackendProcessorFactory& factory, | 672     GrGLRectBlurEffect(const GrBackendProcessorFactory& factory, | 
| 673                        const GrProcessor&); | 673                        const GrProcessor&); | 
| 674     virtual void emitCode(GrGLFPBuilder*, | 674     virtual void emitCode(GrGLFPBuilder*, | 
| 675                           const GrFragmentProcessor&, | 675                           const GrFragmentProcessor&, | 
| 676                           const GrProcessorKey&, |  | 
| 677                           const char* outputColor, | 676                           const char* outputColor, | 
| 678                           const char* inputColor, | 677                           const char* inputColor, | 
| 679                           const TransformedCoordsArray&, | 678                           const TransformedCoordsArray&, | 
| 680                           const TextureSamplerArray&) SK_OVERRIDE; | 679                           const TextureSamplerArray&) SK_OVERRIDE; | 
| 681 | 680 | 
| 682     virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O
      VERRIDE; | 681     virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O
      VERRIDE; | 
| 683 | 682 | 
| 684 private: | 683 private: | 
| 685     typedef GrGLProgramDataManager::UniformHandle UniformHandle; | 684     typedef GrGLProgramDataManager::UniformHandle UniformHandle; | 
| 686 | 685 | 
| (...skipping 20 matching lines...) Expand all  Loading... | 
| 707     fsBuilder->codeAppendf("\t\t\tfloat coord = (0.5 * (abs(2.0*%s - %s) - %s))/
      %s;\n", | 706     fsBuilder->codeAppendf("\t\t\tfloat coord = (0.5 * (abs(2.0*%s - %s) - %s))/
      %s;\n", | 
| 708                            loc, blurred_width, sharp_width, profileSize); | 707                            loc, blurred_width, sharp_width, profileSize); | 
| 709     fsBuilder->codeAppendf("\t\t\t%s = ", output); | 708     fsBuilder->codeAppendf("\t\t\t%s = ", output); | 
| 710     fsBuilder->appendTextureLookup(sampler, "vec2(coord,0.5)"); | 709     fsBuilder->appendTextureLookup(sampler, "vec2(coord,0.5)"); | 
| 711     fsBuilder->codeAppend(".a;\n"); | 710     fsBuilder->codeAppend(".a;\n"); | 
| 712     fsBuilder->codeAppendf("\t\t}\n"); | 711     fsBuilder->codeAppendf("\t\t}\n"); | 
| 713 } | 712 } | 
| 714 | 713 | 
| 715 void GrGLRectBlurEffect::emitCode(GrGLFPBuilder* builder, | 714 void GrGLRectBlurEffect::emitCode(GrGLFPBuilder* builder, | 
| 716                                  const GrFragmentProcessor&, | 715                                  const GrFragmentProcessor&, | 
| 717                                  const GrProcessorKey& key, |  | 
| 718                                  const char* outputColor, | 716                                  const char* outputColor, | 
| 719                                  const char* inputColor, | 717                                  const char* inputColor, | 
| 720                                  const TransformedCoordsArray& coords, | 718                                  const TransformedCoordsArray& coords, | 
| 721                                  const TextureSamplerArray& samplers) { | 719                                  const TextureSamplerArray& samplers) { | 
| 722 | 720 | 
| 723     const char *rectName; | 721     const char *rectName; | 
| 724     const char *profileSizeName; | 722     const char *profileSizeName; | 
| 725 | 723 | 
| 726     fProxyRectUniform = builder->addUniform(GrGLProgramBuilder::kFragment_Visibi
      lity, | 724     fProxyRectUniform = builder->addUniform(GrGLProgramBuilder::kFragment_Visibi
      lity, | 
| 727                                             kVec4f_GrSLType, | 725                                             kVec4f_GrSLType, | 
| (...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1028 } | 1026 } | 
| 1029 | 1027 | 
| 1030 ////////////////////////////////////////////////////////////////////////////// | 1028 ////////////////////////////////////////////////////////////////////////////// | 
| 1031 | 1029 | 
| 1032 class GrGLRRectBlurEffect : public GrGLFragmentProcessor { | 1030 class GrGLRRectBlurEffect : public GrGLFragmentProcessor { | 
| 1033 public: | 1031 public: | 
| 1034     GrGLRRectBlurEffect(const GrBackendProcessorFactory&, const GrProcessor&); | 1032     GrGLRRectBlurEffect(const GrBackendProcessorFactory&, const GrProcessor&); | 
| 1035 | 1033 | 
| 1036     virtual void emitCode(GrGLFPBuilder*, | 1034     virtual void emitCode(GrGLFPBuilder*, | 
| 1037                           const GrFragmentProcessor&, | 1035                           const GrFragmentProcessor&, | 
| 1038                           const GrProcessorKey&, |  | 
| 1039                           const char* outputColor, | 1036                           const char* outputColor, | 
| 1040                           const char* inputColor, | 1037                           const char* inputColor, | 
| 1041                           const TransformedCoordsArray&, | 1038                           const TransformedCoordsArray&, | 
| 1042                           const TextureSamplerArray&) SK_OVERRIDE; | 1039                           const TextureSamplerArray&) SK_OVERRIDE; | 
| 1043 | 1040 | 
| 1044     virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O
      VERRIDE; | 1041     virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O
      VERRIDE; | 
| 1045 | 1042 | 
| 1046 private: | 1043 private: | 
| 1047     GrGLProgramDataManager::UniformHandle fProxyRectUniform; | 1044     GrGLProgramDataManager::UniformHandle fProxyRectUniform; | 
| 1048     GrGLProgramDataManager::UniformHandle fCornerRadiusUniform; | 1045     GrGLProgramDataManager::UniformHandle fCornerRadiusUniform; | 
| 1049     GrGLProgramDataManager::UniformHandle fBlurRadiusUniform; | 1046     GrGLProgramDataManager::UniformHandle fBlurRadiusUniform; | 
| 1050     typedef GrGLFragmentProcessor INHERITED; | 1047     typedef GrGLFragmentProcessor INHERITED; | 
| 1051 }; | 1048 }; | 
| 1052 | 1049 | 
| 1053 GrGLRRectBlurEffect::GrGLRRectBlurEffect(const GrBackendProcessorFactory& factor
      y, | 1050 GrGLRRectBlurEffect::GrGLRRectBlurEffect(const GrBackendProcessorFactory& factor
      y, | 
| 1054                                          const GrProcessor&) | 1051                                          const GrProcessor&) | 
| 1055     : INHERITED (factory) { | 1052     : INHERITED (factory) { | 
| 1056 } | 1053 } | 
| 1057 | 1054 | 
| 1058 void GrGLRRectBlurEffect::emitCode(GrGLFPBuilder* builder, | 1055 void GrGLRRectBlurEffect::emitCode(GrGLFPBuilder* builder, | 
| 1059                                    const GrFragmentProcessor&, | 1056                                    const GrFragmentProcessor&, | 
| 1060                                    const GrProcessorKey&, |  | 
| 1061                                    const char* outputColor, | 1057                                    const char* outputColor, | 
| 1062                                    const char* inputColor, | 1058                                    const char* inputColor, | 
| 1063                                    const TransformedCoordsArray&, | 1059                                    const TransformedCoordsArray&, | 
| 1064                                    const TextureSamplerArray& samplers) { | 1060                                    const TextureSamplerArray& samplers) { | 
| 1065     const char *rectName; | 1061     const char *rectName; | 
| 1066     const char *cornerRadiusName; | 1062     const char *cornerRadiusName; | 
| 1067     const char *blurRadiusName; | 1063     const char *blurRadiusName; | 
| 1068 | 1064 | 
| 1069     // The proxy rect has left, top, right, and bottom edges correspond to | 1065     // The proxy rect has left, top, right, and bottom edges correspond to | 
| 1070     // components x, y, z, and w, respectively. | 1066     // components x, y, z, and w, respectively. | 
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1279     } else { | 1275     } else { | 
| 1280         str->append("None"); | 1276         str->append("None"); | 
| 1281     } | 1277     } | 
| 1282     str->append("))"); | 1278     str->append("))"); | 
| 1283 } | 1279 } | 
| 1284 #endif | 1280 #endif | 
| 1285 | 1281 | 
| 1286 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkBlurMaskFilter) | 1282 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkBlurMaskFilter) | 
| 1287     SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurMaskFilterImpl) | 1283     SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurMaskFilterImpl) | 
| 1288 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END | 1284 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END | 
| OLD | NEW | 
|---|