| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2014 Google Inc. | 3 * Copyright 2014 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 "SkTwoPointConicalGradient_gpu.h" | 9 #include "SkTwoPointConicalGradient_gpu.h" |
| 10 | 10 |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 SkShader::TileMode tm) { | 65 SkShader::TileMode tm) { |
| 66 return SkNEW_ARGS(Edge2PtConicalEffect, (ctx, procDataManager, shader, m
atrix, tm)); | 66 return SkNEW_ARGS(Edge2PtConicalEffect, (ctx, procDataManager, shader, m
atrix, tm)); |
| 67 } | 67 } |
| 68 | 68 |
| 69 virtual ~Edge2PtConicalEffect() {} | 69 virtual ~Edge2PtConicalEffect() {} |
| 70 | 70 |
| 71 const char* name() const override { | 71 const char* name() const override { |
| 72 return "Two-Point Conical Gradient Edge Touching"; | 72 return "Two-Point Conical Gradient Edge Touching"; |
| 73 } | 73 } |
| 74 | 74 |
| 75 void getGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const over
ride; | |
| 76 | |
| 77 GrGLFragmentProcessor* createGLInstance() const override; | 75 GrGLFragmentProcessor* createGLInstance() const override; |
| 78 | 76 |
| 79 // The radial gradient parameters can collapse to a linear (instead of quadr
atic) equation. | 77 // The radial gradient parameters can collapse to a linear (instead of quadr
atic) equation. |
| 80 SkScalar center() const { return fCenterX1; } | 78 SkScalar center() const { return fCenterX1; } |
| 81 SkScalar diffRadius() const { return fDiffRadius; } | 79 SkScalar diffRadius() const { return fDiffRadius; } |
| 82 SkScalar radius() const { return fRadius0; } | 80 SkScalar radius() const { return fRadius0; } |
| 83 | 81 |
| 84 private: | 82 private: |
| 83 void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const ov
erride; |
| 84 |
| 85 bool onIsEqual(const GrFragmentProcessor& sBase) const override { | 85 bool onIsEqual(const GrFragmentProcessor& sBase) const override { |
| 86 const Edge2PtConicalEffect& s = sBase.cast<Edge2PtConicalEffect>(); | 86 const Edge2PtConicalEffect& s = sBase.cast<Edge2PtConicalEffect>(); |
| 87 return (INHERITED::onIsEqual(sBase) && | 87 return (INHERITED::onIsEqual(sBase) && |
| 88 this->fCenterX1 == s.fCenterX1 && | 88 this->fCenterX1 == s.fCenterX1 && |
| 89 this->fRadius0 == s.fRadius0 && | 89 this->fRadius0 == s.fRadius0 && |
| 90 this->fDiffRadius == s.fDiffRadius); | 90 this->fDiffRadius == s.fDiffRadius); |
| 91 } | 91 } |
| 92 | 92 |
| 93 Edge2PtConicalEffect(GrContext* ctx, | 93 Edge2PtConicalEffect(GrContext* ctx, |
| 94 GrProcessorDataManager* procDataManager, | 94 GrProcessorDataManager* procDataManager, |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 SkScalar fCachedRadius; | 161 SkScalar fCachedRadius; |
| 162 SkScalar fCachedDiffRadius; | 162 SkScalar fCachedDiffRadius; |
| 163 | 163 |
| 164 // @} | 164 // @} |
| 165 | 165 |
| 166 private: | 166 private: |
| 167 typedef GrGLGradientEffect INHERITED; | 167 typedef GrGLGradientEffect INHERITED; |
| 168 | 168 |
| 169 }; | 169 }; |
| 170 | 170 |
| 171 void Edge2PtConicalEffect::getGLProcessorKey(const GrGLSLCaps& caps, | 171 void Edge2PtConicalEffect::onGetGLProcessorKey(const GrGLSLCaps& caps, |
| 172 GrProcessorKeyBuilder* b) const { | 172 GrProcessorKeyBuilder* b) const { |
| 173 GLEdge2PtConicalEffect::GenKey(*this, caps, b); | 173 GLEdge2PtConicalEffect::GenKey(*this, caps, b); |
| 174 } | 174 } |
| 175 | 175 |
| 176 GrGLFragmentProcessor* Edge2PtConicalEffect::createGLInstance() const { | 176 GrGLFragmentProcessor* Edge2PtConicalEffect::createGLInstance() const { |
| 177 return SkNEW_ARGS(GLEdge2PtConicalEffect, (*this)); | 177 return SkNEW_ARGS(GLEdge2PtConicalEffect, (*this)); |
| 178 } | 178 } |
| 179 | 179 |
| 180 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(Edge2PtConicalEffect); | 180 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(Edge2PtConicalEffect); |
| 181 | 181 |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 378 return SkNEW_ARGS(FocalOutside2PtConicalEffect, (ctx, procDataManager, s
hader, matrix, tm, | 378 return SkNEW_ARGS(FocalOutside2PtConicalEffect, (ctx, procDataManager, s
hader, matrix, tm, |
| 379 focalX)); | 379 focalX)); |
| 380 } | 380 } |
| 381 | 381 |
| 382 virtual ~FocalOutside2PtConicalEffect() { } | 382 virtual ~FocalOutside2PtConicalEffect() { } |
| 383 | 383 |
| 384 const char* name() const override { | 384 const char* name() const override { |
| 385 return "Two-Point Conical Gradient Focal Outside"; | 385 return "Two-Point Conical Gradient Focal Outside"; |
| 386 } | 386 } |
| 387 | 387 |
| 388 void getGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const over
ride; | |
| 389 | |
| 390 GrGLFragmentProcessor* createGLInstance() const override; | 388 GrGLFragmentProcessor* createGLInstance() const override; |
| 391 | 389 |
| 392 bool isFlipped() const { return fIsFlipped; } | 390 bool isFlipped() const { return fIsFlipped; } |
| 393 SkScalar focal() const { return fFocalX; } | 391 SkScalar focal() const { return fFocalX; } |
| 394 | 392 |
| 395 private: | 393 private: |
| 394 void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const ov
erride; |
| 395 |
| 396 bool onIsEqual(const GrFragmentProcessor& sBase) const override { | 396 bool onIsEqual(const GrFragmentProcessor& sBase) const override { |
| 397 const FocalOutside2PtConicalEffect& s = sBase.cast<FocalOutside2PtConica
lEffect>(); | 397 const FocalOutside2PtConicalEffect& s = sBase.cast<FocalOutside2PtConica
lEffect>(); |
| 398 return (INHERITED::onIsEqual(sBase) && | 398 return (INHERITED::onIsEqual(sBase) && |
| 399 this->fFocalX == s.fFocalX && | 399 this->fFocalX == s.fFocalX && |
| 400 this->fIsFlipped == s.fIsFlipped); | 400 this->fIsFlipped == s.fIsFlipped); |
| 401 } | 401 } |
| 402 | 402 |
| 403 FocalOutside2PtConicalEffect(GrContext* ctx, | 403 FocalOutside2PtConicalEffect(GrContext* ctx, |
| 404 GrProcessorDataManager* procDataManager, | 404 GrProcessorDataManager* procDataManager, |
| 405 const SkTwoPointConicalGradient& shader, | 405 const SkTwoPointConicalGradient& shader, |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 443 | 443 |
| 444 SkScalar fCachedFocal; | 444 SkScalar fCachedFocal; |
| 445 | 445 |
| 446 // @} | 446 // @} |
| 447 | 447 |
| 448 private: | 448 private: |
| 449 typedef GrGLGradientEffect INHERITED; | 449 typedef GrGLGradientEffect INHERITED; |
| 450 | 450 |
| 451 }; | 451 }; |
| 452 | 452 |
| 453 void FocalOutside2PtConicalEffect::getGLProcessorKey(const GrGLSLCaps& caps, | 453 void FocalOutside2PtConicalEffect::onGetGLProcessorKey(const GrGLSLCaps& caps, |
| 454 GrProcessorKeyBuilder* b) c
onst { | 454 GrProcessorKeyBuilder* b) c
onst { |
| 455 GLFocalOutside2PtConicalEffect::GenKey(*this, caps, b); | 455 GLFocalOutside2PtConicalEffect::GenKey(*this, caps, b); |
| 456 } | 456 } |
| 457 | 457 |
| 458 GrGLFragmentProcessor* FocalOutside2PtConicalEffect::createGLInstance() const { | 458 GrGLFragmentProcessor* FocalOutside2PtConicalEffect::createGLInstance() const { |
| 459 return SkNEW_ARGS(GLFocalOutside2PtConicalEffect, (*this)); | 459 return SkNEW_ARGS(GLFocalOutside2PtConicalEffect, (*this)); |
| 460 } | 460 } |
| 461 | 461 |
| 462 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(FocalOutside2PtConicalEffect); | 462 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(FocalOutside2PtConicalEffect); |
| 463 | 463 |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 594 return SkNEW_ARGS(FocalInside2PtConicalEffect, (ctx, procDataManager, sh
ader, matrix, tm, | 594 return SkNEW_ARGS(FocalInside2PtConicalEffect, (ctx, procDataManager, sh
ader, matrix, tm, |
| 595 focalX)); | 595 focalX)); |
| 596 } | 596 } |
| 597 | 597 |
| 598 virtual ~FocalInside2PtConicalEffect() {} | 598 virtual ~FocalInside2PtConicalEffect() {} |
| 599 | 599 |
| 600 const char* name() const override { | 600 const char* name() const override { |
| 601 return "Two-Point Conical Gradient Focal Inside"; | 601 return "Two-Point Conical Gradient Focal Inside"; |
| 602 } | 602 } |
| 603 | 603 |
| 604 void getGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const over
ride; | |
| 605 | |
| 606 GrGLFragmentProcessor* createGLInstance() const override; | 604 GrGLFragmentProcessor* createGLInstance() const override; |
| 607 | 605 |
| 608 SkScalar focal() const { return fFocalX; } | 606 SkScalar focal() const { return fFocalX; } |
| 609 | 607 |
| 610 typedef GLFocalInside2PtConicalEffect GLProcessor; | 608 typedef GLFocalInside2PtConicalEffect GLProcessor; |
| 611 | 609 |
| 612 private: | 610 private: |
| 611 void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const ov
erride; |
| 612 |
| 613 bool onIsEqual(const GrFragmentProcessor& sBase) const override { | 613 bool onIsEqual(const GrFragmentProcessor& sBase) const override { |
| 614 const FocalInside2PtConicalEffect& s = sBase.cast<FocalInside2PtConicalE
ffect>(); | 614 const FocalInside2PtConicalEffect& s = sBase.cast<FocalInside2PtConicalE
ffect>(); |
| 615 return (INHERITED::onIsEqual(sBase) && | 615 return (INHERITED::onIsEqual(sBase) && |
| 616 this->fFocalX == s.fFocalX); | 616 this->fFocalX == s.fFocalX); |
| 617 } | 617 } |
| 618 | 618 |
| 619 FocalInside2PtConicalEffect(GrContext* ctx, | 619 FocalInside2PtConicalEffect(GrContext* ctx, |
| 620 GrProcessorDataManager* procDataManager, | 620 GrProcessorDataManager* procDataManager, |
| 621 const SkTwoPointConicalGradient& shader, | 621 const SkTwoPointConicalGradient& shader, |
| 622 const SkMatrix& matrix, | 622 const SkMatrix& matrix, |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 654 | 654 |
| 655 SkScalar fCachedFocal; | 655 SkScalar fCachedFocal; |
| 656 | 656 |
| 657 // @} | 657 // @} |
| 658 | 658 |
| 659 private: | 659 private: |
| 660 typedef GrGLGradientEffect INHERITED; | 660 typedef GrGLGradientEffect INHERITED; |
| 661 | 661 |
| 662 }; | 662 }; |
| 663 | 663 |
| 664 void FocalInside2PtConicalEffect::getGLProcessorKey(const GrGLSLCaps& caps, | 664 void FocalInside2PtConicalEffect::onGetGLProcessorKey(const GrGLSLCaps& caps, |
| 665 GrProcessorKeyBuilder* b) const { | 665 GrProcessorKeyBuilder* b) const { |
| 666 GLFocalInside2PtConicalEffect::GenKey(*this, caps, b); | 666 GLFocalInside2PtConicalEffect::GenKey(*this, caps, b); |
| 667 } | 667 } |
| 668 | 668 |
| 669 GrGLFragmentProcessor* FocalInside2PtConicalEffect::createGLInstance() const { | 669 GrGLFragmentProcessor* FocalInside2PtConicalEffect::createGLInstance() const { |
| 670 return SkNEW_ARGS(GLFocalInside2PtConicalEffect, (*this)); | 670 return SkNEW_ARGS(GLFocalInside2PtConicalEffect, (*this)); |
| 671 } | 671 } |
| 672 | 672 |
| 673 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(FocalInside2PtConicalEffect); | 673 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(FocalInside2PtConicalEffect); |
| 674 | 674 |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 830 SkShader::TileMode tm, | 830 SkShader::TileMode tm, |
| 831 const CircleConicalInfo& info) { | 831 const CircleConicalInfo& info) { |
| 832 return SkNEW_ARGS(CircleInside2PtConicalEffect, (ctx, procDataManager, s
hader, matrix, tm, | 832 return SkNEW_ARGS(CircleInside2PtConicalEffect, (ctx, procDataManager, s
hader, matrix, tm, |
| 833 info)); | 833 info)); |
| 834 } | 834 } |
| 835 | 835 |
| 836 virtual ~CircleInside2PtConicalEffect() {} | 836 virtual ~CircleInside2PtConicalEffect() {} |
| 837 | 837 |
| 838 const char* name() const override { return "Two-Point Conical Gradient Insid
e"; } | 838 const char* name() const override { return "Two-Point Conical Gradient Insid
e"; } |
| 839 | 839 |
| 840 virtual void getGLProcessorKey(const GrGLSLCaps& caps, | |
| 841 GrProcessorKeyBuilder* b) const override; | |
| 842 | |
| 843 GrGLFragmentProcessor* createGLInstance() const override; | 840 GrGLFragmentProcessor* createGLInstance() const override; |
| 844 | 841 |
| 845 SkScalar centerX() const { return fInfo.fCenterEnd.fX; } | 842 SkScalar centerX() const { return fInfo.fCenterEnd.fX; } |
| 846 SkScalar centerY() const { return fInfo.fCenterEnd.fY; } | 843 SkScalar centerY() const { return fInfo.fCenterEnd.fY; } |
| 847 SkScalar A() const { return fInfo.fA; } | 844 SkScalar A() const { return fInfo.fA; } |
| 848 SkScalar B() const { return fInfo.fB; } | 845 SkScalar B() const { return fInfo.fB; } |
| 849 SkScalar C() const { return fInfo.fC; } | 846 SkScalar C() const { return fInfo.fC; } |
| 850 | 847 |
| 851 private: | 848 private: |
| 849 virtual void onGetGLProcessorKey(const GrGLSLCaps& caps, |
| 850 GrProcessorKeyBuilder* b) const override; |
| 851 |
| 852 bool onIsEqual(const GrFragmentProcessor& sBase) const override { | 852 bool onIsEqual(const GrFragmentProcessor& sBase) const override { |
| 853 const CircleInside2PtConicalEffect& s = sBase.cast<CircleInside2PtConica
lEffect>(); | 853 const CircleInside2PtConicalEffect& s = sBase.cast<CircleInside2PtConica
lEffect>(); |
| 854 return (INHERITED::onIsEqual(sBase) && | 854 return (INHERITED::onIsEqual(sBase) && |
| 855 this->fInfo.fCenterEnd == s.fInfo.fCenterEnd && | 855 this->fInfo.fCenterEnd == s.fInfo.fCenterEnd && |
| 856 this->fInfo.fA == s.fInfo.fA && | 856 this->fInfo.fA == s.fInfo.fA && |
| 857 this->fInfo.fB == s.fInfo.fB && | 857 this->fInfo.fB == s.fInfo.fB && |
| 858 this->fInfo.fC == s.fInfo.fC); | 858 this->fInfo.fC == s.fInfo.fC); |
| 859 } | 859 } |
| 860 | 860 |
| 861 CircleInside2PtConicalEffect(GrContext* ctx, | 861 CircleInside2PtConicalEffect(GrContext* ctx, |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 901 SkScalar fCachedB; | 901 SkScalar fCachedB; |
| 902 SkScalar fCachedC; | 902 SkScalar fCachedC; |
| 903 | 903 |
| 904 // @} | 904 // @} |
| 905 | 905 |
| 906 private: | 906 private: |
| 907 typedef GrGLGradientEffect INHERITED; | 907 typedef GrGLGradientEffect INHERITED; |
| 908 | 908 |
| 909 }; | 909 }; |
| 910 | 910 |
| 911 void CircleInside2PtConicalEffect::getGLProcessorKey(const GrGLSLCaps& caps, | 911 void CircleInside2PtConicalEffect::onGetGLProcessorKey(const GrGLSLCaps& caps, |
| 912 GrProcessorKeyBuilder* b) c
onst { | 912 GrProcessorKeyBuilder* b) c
onst { |
| 913 GLCircleInside2PtConicalEffect::GenKey(*this, caps, b); | 913 GLCircleInside2PtConicalEffect::GenKey(*this, caps, b); |
| 914 } | 914 } |
| 915 | 915 |
| 916 GrGLFragmentProcessor* CircleInside2PtConicalEffect::createGLInstance() const { | 916 GrGLFragmentProcessor* CircleInside2PtConicalEffect::createGLInstance() const { |
| 917 return SkNEW_ARGS(GLCircleInside2PtConicalEffect, (*this)); | 917 return SkNEW_ARGS(GLCircleInside2PtConicalEffect, (*this)); |
| 918 } | 918 } |
| 919 | 919 |
| 920 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleInside2PtConicalEffect); | 920 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleInside2PtConicalEffect); |
| 921 | 921 |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1046 SkShader::TileMode tm, | 1046 SkShader::TileMode tm, |
| 1047 const CircleConicalInfo& info) { | 1047 const CircleConicalInfo& info) { |
| 1048 return SkNEW_ARGS(CircleOutside2PtConicalEffect, (ctx, procDataManager,
shader, matrix, | 1048 return SkNEW_ARGS(CircleOutside2PtConicalEffect, (ctx, procDataManager,
shader, matrix, |
| 1049 tm, info)); | 1049 tm, info)); |
| 1050 } | 1050 } |
| 1051 | 1051 |
| 1052 virtual ~CircleOutside2PtConicalEffect() {} | 1052 virtual ~CircleOutside2PtConicalEffect() {} |
| 1053 | 1053 |
| 1054 const char* name() const override { return "Two-Point Conical Gradient Outsi
de"; } | 1054 const char* name() const override { return "Two-Point Conical Gradient Outsi
de"; } |
| 1055 | 1055 |
| 1056 void getGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const over
ride; | |
| 1057 | |
| 1058 GrGLFragmentProcessor* createGLInstance() const override; | 1056 GrGLFragmentProcessor* createGLInstance() const override; |
| 1059 | 1057 |
| 1060 SkScalar centerX() const { return fInfo.fCenterEnd.fX; } | 1058 SkScalar centerX() const { return fInfo.fCenterEnd.fX; } |
| 1061 SkScalar centerY() const { return fInfo.fCenterEnd.fY; } | 1059 SkScalar centerY() const { return fInfo.fCenterEnd.fY; } |
| 1062 SkScalar A() const { return fInfo.fA; } | 1060 SkScalar A() const { return fInfo.fA; } |
| 1063 SkScalar B() const { return fInfo.fB; } | 1061 SkScalar B() const { return fInfo.fB; } |
| 1064 SkScalar C() const { return fInfo.fC; } | 1062 SkScalar C() const { return fInfo.fC; } |
| 1065 SkScalar tLimit() const { return fTLimit; } | 1063 SkScalar tLimit() const { return fTLimit; } |
| 1066 bool isFlipped() const { return fIsFlipped; } | 1064 bool isFlipped() const { return fIsFlipped; } |
| 1067 | 1065 |
| 1068 private: | 1066 private: |
| 1067 void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const ov
erride; |
| 1068 |
| 1069 bool onIsEqual(const GrFragmentProcessor& sBase) const override { | 1069 bool onIsEqual(const GrFragmentProcessor& sBase) const override { |
| 1070 const CircleOutside2PtConicalEffect& s = sBase.cast<CircleOutside2PtConi
calEffect>(); | 1070 const CircleOutside2PtConicalEffect& s = sBase.cast<CircleOutside2PtConi
calEffect>(); |
| 1071 return (INHERITED::onIsEqual(sBase) && | 1071 return (INHERITED::onIsEqual(sBase) && |
| 1072 this->fInfo.fCenterEnd == s.fInfo.fCenterEnd && | 1072 this->fInfo.fCenterEnd == s.fInfo.fCenterEnd && |
| 1073 this->fInfo.fA == s.fInfo.fA && | 1073 this->fInfo.fA == s.fInfo.fA && |
| 1074 this->fInfo.fB == s.fInfo.fB && | 1074 this->fInfo.fB == s.fInfo.fB && |
| 1075 this->fInfo.fC == s.fInfo.fC && | 1075 this->fInfo.fC == s.fInfo.fC && |
| 1076 this->fTLimit == s.fTLimit && | 1076 this->fTLimit == s.fTLimit && |
| 1077 this->fIsFlipped == s.fIsFlipped); | 1077 this->fIsFlipped == s.fIsFlipped); |
| 1078 } | 1078 } |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1132 SkScalar fCachedC; | 1132 SkScalar fCachedC; |
| 1133 SkScalar fCachedTLimit; | 1133 SkScalar fCachedTLimit; |
| 1134 | 1134 |
| 1135 // @} | 1135 // @} |
| 1136 | 1136 |
| 1137 private: | 1137 private: |
| 1138 typedef GrGLGradientEffect INHERITED; | 1138 typedef GrGLGradientEffect INHERITED; |
| 1139 | 1139 |
| 1140 }; | 1140 }; |
| 1141 | 1141 |
| 1142 void CircleOutside2PtConicalEffect::getGLProcessorKey(const GrGLSLCaps& caps, | 1142 void CircleOutside2PtConicalEffect::onGetGLProcessorKey(const GrGLSLCaps& caps, |
| 1143 GrProcessorKeyBuilder* b)
const { | 1143 GrProcessorKeyBuilder* b)
const { |
| 1144 GLCircleOutside2PtConicalEffect::GenKey(*this, caps, b); | 1144 GLCircleOutside2PtConicalEffect::GenKey(*this, caps, b); |
| 1145 } | 1145 } |
| 1146 | 1146 |
| 1147 GrGLFragmentProcessor* CircleOutside2PtConicalEffect::createGLInstance() const { | 1147 GrGLFragmentProcessor* CircleOutside2PtConicalEffect::createGLInstance() const { |
| 1148 return SkNEW_ARGS(GLCircleOutside2PtConicalEffect, (*this)); | 1148 return SkNEW_ARGS(GLCircleOutside2PtConicalEffect, (*this)); |
| 1149 } | 1149 } |
| 1150 | 1150 |
| 1151 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleOutside2PtConicalEffect); | 1151 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleOutside2PtConicalEffect); |
| 1152 | 1152 |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1334 } else if (type == kEdge_ConicalType) { | 1334 } else if (type == kEdge_ConicalType) { |
| 1335 set_matrix_edge_conical(shader, &matrix); | 1335 set_matrix_edge_conical(shader, &matrix); |
| 1336 return Edge2PtConicalEffect::Create(ctx, procDataManager, shader, matrix
, tm); | 1336 return Edge2PtConicalEffect::Create(ctx, procDataManager, shader, matrix
, tm); |
| 1337 } else { | 1337 } else { |
| 1338 return CircleOutside2PtConicalEffect::Create(ctx, procDataManager, shade
r, matrix, tm, | 1338 return CircleOutside2PtConicalEffect::Create(ctx, procDataManager, shade
r, matrix, tm, |
| 1339 info); | 1339 info); |
| 1340 } | 1340 } |
| 1341 } | 1341 } |
| 1342 | 1342 |
| 1343 #endif | 1343 #endif |
| OLD | NEW |