| 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 |