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 |