| 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 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 typedef GrGradientEffect INHERITED; | 135 typedef GrGradientEffect INHERITED; |
| 136 }; | 136 }; |
| 137 | 137 |
| 138 class GLEdge2PtConicalEffect : public GrGLGradientEffect { | 138 class GLEdge2PtConicalEffect : public GrGLGradientEffect { |
| 139 public: | 139 public: |
| 140 GLEdge2PtConicalEffect(const GrBackendProcessorFactory& factory, const GrPro
cessor&); | 140 GLEdge2PtConicalEffect(const GrBackendProcessorFactory& factory, const GrPro
cessor&); |
| 141 virtual ~GLEdge2PtConicalEffect() { } | 141 virtual ~GLEdge2PtConicalEffect() { } |
| 142 | 142 |
| 143 virtual void emitCode(GrGLFPBuilder*, | 143 virtual void emitCode(GrGLFPBuilder*, |
| 144 const GrFragmentProcessor&, | 144 const GrFragmentProcessor&, |
| 145 const GrProcessorKey&, | |
| 146 const char* outputColor, | 145 const char* outputColor, |
| 147 const char* inputColor, | 146 const char* inputColor, |
| 148 const TransformedCoordsArray&, | 147 const TransformedCoordsArray&, |
| 149 const TextureSamplerArray&) SK_OVERRIDE; | 148 const TextureSamplerArray&) SK_OVERRIDE; |
| 150 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O
VERRIDE; | 149 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O
VERRIDE; |
| 151 | 150 |
| 152 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); | 151 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); |
| 153 | 152 |
| 154 protected: | 153 protected: |
| 155 UniformHandle fParamUni; | 154 UniformHandle fParamUni; |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 218 GLEdge2PtConicalEffect::GLEdge2PtConicalEffect(const GrBackendProcessorFactory&
factory, | 217 GLEdge2PtConicalEffect::GLEdge2PtConicalEffect(const GrBackendProcessorFactory&
factory, |
| 219 const GrProcessor&) | 218 const GrProcessor&) |
| 220 : INHERITED(factory) | 219 : INHERITED(factory) |
| 221 , fVSVaryingName(NULL) | 220 , fVSVaryingName(NULL) |
| 222 , fFSVaryingName(NULL) | 221 , fFSVaryingName(NULL) |
| 223 , fCachedRadius(-SK_ScalarMax) | 222 , fCachedRadius(-SK_ScalarMax) |
| 224 , fCachedDiffRadius(-SK_ScalarMax) {} | 223 , fCachedDiffRadius(-SK_ScalarMax) {} |
| 225 | 224 |
| 226 void GLEdge2PtConicalEffect::emitCode(GrGLFPBuilder* builder, | 225 void GLEdge2PtConicalEffect::emitCode(GrGLFPBuilder* builder, |
| 227 const GrFragmentProcessor& fp, | 226 const GrFragmentProcessor& fp, |
| 228 const GrProcessorKey& key, | |
| 229 const char* outputColor, | 227 const char* outputColor, |
| 230 const char* inputColor, | 228 const char* inputColor, |
| 231 const TransformedCoordsArray& coords, | 229 const TransformedCoordsArray& coords, |
| 232 const TextureSamplerArray& samplers) { | 230 const TextureSamplerArray& samplers) { |
| 233 const GrGradientEffect& ge = fp.cast<GrGradientEffect>(); | 231 const GrGradientEffect& ge = fp.cast<GrGradientEffect>(); |
| 234 this->emitUniforms(builder, ge); | 232 this->emitUniforms(builder, ge); |
| 235 fParamUni = builder->addUniformArray(GrGLProgramBuilder::kFragment_Visibilit
y, | 233 fParamUni = builder->addUniformArray(GrGLProgramBuilder::kFragment_Visibilit
y, |
| 236 kFloat_GrSLType, "Conical2FSParams", 3)
; | 234 kFloat_GrSLType, "Conical2FSParams", 3)
; |
| 237 | 235 |
| 238 SkString cName("c"); | 236 SkString cName("c"); |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 416 typedef GrGradientEffect INHERITED; | 414 typedef GrGradientEffect INHERITED; |
| 417 }; | 415 }; |
| 418 | 416 |
| 419 class GLFocalOutside2PtConicalEffect : public GrGLGradientEffect { | 417 class GLFocalOutside2PtConicalEffect : public GrGLGradientEffect { |
| 420 public: | 418 public: |
| 421 GLFocalOutside2PtConicalEffect(const GrBackendProcessorFactory& factory, con
st GrProcessor&); | 419 GLFocalOutside2PtConicalEffect(const GrBackendProcessorFactory& factory, con
st GrProcessor&); |
| 422 virtual ~GLFocalOutside2PtConicalEffect() { } | 420 virtual ~GLFocalOutside2PtConicalEffect() { } |
| 423 | 421 |
| 424 virtual void emitCode(GrGLFPBuilder*, | 422 virtual void emitCode(GrGLFPBuilder*, |
| 425 const GrFragmentProcessor&, | 423 const GrFragmentProcessor&, |
| 426 const GrProcessorKey&, | |
| 427 const char* outputColor, | 424 const char* outputColor, |
| 428 const char* inputColor, | 425 const char* inputColor, |
| 429 const TransformedCoordsArray&, | 426 const TransformedCoordsArray&, |
| 430 const TextureSamplerArray&) SK_OVERRIDE; | 427 const TextureSamplerArray&) SK_OVERRIDE; |
| 431 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O
VERRIDE; | 428 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O
VERRIDE; |
| 432 | 429 |
| 433 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); | 430 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); |
| 434 | 431 |
| 435 protected: | 432 protected: |
| 436 UniformHandle fParamUni; | 433 UniformHandle fParamUni; |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 499 : INHERITED(factory) | 496 : INHERITED(factory) |
| 500 , fVSVaryingName(NULL) | 497 , fVSVaryingName(NULL) |
| 501 , fFSVaryingName(NULL) | 498 , fFSVaryingName(NULL) |
| 502 , fCachedFocal(SK_ScalarMax) { | 499 , fCachedFocal(SK_ScalarMax) { |
| 503 const FocalOutside2PtConicalEffect& data = processor.cast<FocalOutside2PtCon
icalEffect>(); | 500 const FocalOutside2PtConicalEffect& data = processor.cast<FocalOutside2PtCon
icalEffect>(); |
| 504 fIsFlipped = data.isFlipped(); | 501 fIsFlipped = data.isFlipped(); |
| 505 } | 502 } |
| 506 | 503 |
| 507 void GLFocalOutside2PtConicalEffect::emitCode(GrGLFPBuilder* builder, | 504 void GLFocalOutside2PtConicalEffect::emitCode(GrGLFPBuilder* builder, |
| 508 const GrFragmentProcessor& fp, | 505 const GrFragmentProcessor& fp, |
| 509 const GrProcessorKey& key, | |
| 510 const char* outputColor, | 506 const char* outputColor, |
| 511 const char* inputColor, | 507 const char* inputColor, |
| 512 const TransformedCoordsArray& coor
ds, | 508 const TransformedCoordsArray& coor
ds, |
| 513 const TextureSamplerArray& sampler
s) { | 509 const TextureSamplerArray& sampler
s) { |
| 514 const GrGradientEffect& ge = fp.cast<GrGradientEffect>(); | 510 const GrGradientEffect& ge = fp.cast<GrGradientEffect>(); |
| 515 this->emitUniforms(builder, ge); | 511 this->emitUniforms(builder, ge); |
| 516 fParamUni = builder->addUniformArray(GrGLProgramBuilder::kFragment_Visibilit
y, | 512 fParamUni = builder->addUniformArray(GrGLProgramBuilder::kFragment_Visibilit
y, |
| 517 kFloat_GrSLType, "Conical2FSParams", 2)
; | 513 kFloat_GrSLType, "Conical2FSParams", 2)
; |
| 518 SkString tName("t"); | 514 SkString tName("t"); |
| 519 SkString p0; // focalX | 515 SkString p0; // focalX |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 625 typedef GrGradientEffect INHERITED; | 621 typedef GrGradientEffect INHERITED; |
| 626 }; | 622 }; |
| 627 | 623 |
| 628 class GLFocalInside2PtConicalEffect : public GrGLGradientEffect { | 624 class GLFocalInside2PtConicalEffect : public GrGLGradientEffect { |
| 629 public: | 625 public: |
| 630 GLFocalInside2PtConicalEffect(const GrBackendProcessorFactory& factory, cons
t GrProcessor&); | 626 GLFocalInside2PtConicalEffect(const GrBackendProcessorFactory& factory, cons
t GrProcessor&); |
| 631 virtual ~GLFocalInside2PtConicalEffect() {} | 627 virtual ~GLFocalInside2PtConicalEffect() {} |
| 632 | 628 |
| 633 virtual void emitCode(GrGLFPBuilder*, | 629 virtual void emitCode(GrGLFPBuilder*, |
| 634 const GrFragmentProcessor&, | 630 const GrFragmentProcessor&, |
| 635 const GrProcessorKey&, | |
| 636 const char* outputColor, | 631 const char* outputColor, |
| 637 const char* inputColor, | 632 const char* inputColor, |
| 638 const TransformedCoordsArray&, | 633 const TransformedCoordsArray&, |
| 639 const TextureSamplerArray&) SK_OVERRIDE; | 634 const TextureSamplerArray&) SK_OVERRIDE; |
| 640 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O
VERRIDE; | 635 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O
VERRIDE; |
| 641 | 636 |
| 642 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); | 637 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); |
| 643 | 638 |
| 644 protected: | 639 protected: |
| 645 UniformHandle fFocalUni; | 640 UniformHandle fFocalUni; |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 705 | 700 |
| 706 GLFocalInside2PtConicalEffect::GLFocalInside2PtConicalEffect(const GrBackendProc
essorFactory& factory, | 701 GLFocalInside2PtConicalEffect::GLFocalInside2PtConicalEffect(const GrBackendProc
essorFactory& factory, |
| 707 const GrProcessor&) | 702 const GrProcessor&) |
| 708 : INHERITED(factory) | 703 : INHERITED(factory) |
| 709 , fVSVaryingName(NULL) | 704 , fVSVaryingName(NULL) |
| 710 , fFSVaryingName(NULL) | 705 , fFSVaryingName(NULL) |
| 711 , fCachedFocal(SK_ScalarMax) {} | 706 , fCachedFocal(SK_ScalarMax) {} |
| 712 | 707 |
| 713 void GLFocalInside2PtConicalEffect::emitCode(GrGLFPBuilder* builder, | 708 void GLFocalInside2PtConicalEffect::emitCode(GrGLFPBuilder* builder, |
| 714 const GrFragmentProcessor& fp, | 709 const GrFragmentProcessor& fp, |
| 715 const GrProcessorKey& key, | |
| 716 const char* outputColor, | 710 const char* outputColor, |
| 717 const char* inputColor, | 711 const char* inputColor, |
| 718 const TransformedCoordsArray& coord
s, | 712 const TransformedCoordsArray& coord
s, |
| 719 const TextureSamplerArray& samplers
) { | 713 const TextureSamplerArray& samplers
) { |
| 720 const GrGradientEffect& ge = fp.cast<GrGradientEffect>(); | 714 const GrGradientEffect& ge = fp.cast<GrGradientEffect>(); |
| 721 this->emitUniforms(builder, ge); | 715 this->emitUniforms(builder, ge); |
| 722 fFocalUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, | 716 fFocalUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, |
| 723 kFloat_GrSLType, "Conical2FSParams"); | 717 kFloat_GrSLType, "Conical2FSParams"); |
| 724 SkString tName("t"); | 718 SkString tName("t"); |
| 725 | 719 |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 870 typedef GrGradientEffect INHERITED; | 864 typedef GrGradientEffect INHERITED; |
| 871 }; | 865 }; |
| 872 | 866 |
| 873 class GLCircleInside2PtConicalEffect : public GrGLGradientEffect { | 867 class GLCircleInside2PtConicalEffect : public GrGLGradientEffect { |
| 874 public: | 868 public: |
| 875 GLCircleInside2PtConicalEffect(const GrBackendProcessorFactory& factory, con
st GrProcessor&); | 869 GLCircleInside2PtConicalEffect(const GrBackendProcessorFactory& factory, con
st GrProcessor&); |
| 876 virtual ~GLCircleInside2PtConicalEffect() {} | 870 virtual ~GLCircleInside2PtConicalEffect() {} |
| 877 | 871 |
| 878 virtual void emitCode(GrGLFPBuilder*, | 872 virtual void emitCode(GrGLFPBuilder*, |
| 879 const GrFragmentProcessor&, | 873 const GrFragmentProcessor&, |
| 880 const GrProcessorKey&, | |
| 881 const char* outputColor, | 874 const char* outputColor, |
| 882 const char* inputColor, | 875 const char* inputColor, |
| 883 const TransformedCoordsArray&, | 876 const TransformedCoordsArray&, |
| 884 const TextureSamplerArray&) SK_OVERRIDE; | 877 const TextureSamplerArray&) SK_OVERRIDE; |
| 885 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O
VERRIDE; | 878 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O
VERRIDE; |
| 886 | 879 |
| 887 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); | 880 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); |
| 888 | 881 |
| 889 protected: | 882 protected: |
| 890 UniformHandle fCenterUni; | 883 UniformHandle fCenterUni; |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 958 , fVSVaryingName(NULL) | 951 , fVSVaryingName(NULL) |
| 959 , fFSVaryingName(NULL) | 952 , fFSVaryingName(NULL) |
| 960 , fCachedCenterX(SK_ScalarMax) | 953 , fCachedCenterX(SK_ScalarMax) |
| 961 , fCachedCenterY(SK_ScalarMax) | 954 , fCachedCenterY(SK_ScalarMax) |
| 962 , fCachedA(SK_ScalarMax) | 955 , fCachedA(SK_ScalarMax) |
| 963 , fCachedB(SK_ScalarMax) | 956 , fCachedB(SK_ScalarMax) |
| 964 , fCachedC(SK_ScalarMax) {} | 957 , fCachedC(SK_ScalarMax) {} |
| 965 | 958 |
| 966 void GLCircleInside2PtConicalEffect::emitCode(GrGLFPBuilder* builder, | 959 void GLCircleInside2PtConicalEffect::emitCode(GrGLFPBuilder* builder, |
| 967 const GrFragmentProcessor& fp, | 960 const GrFragmentProcessor& fp, |
| 968 const GrProcessorKey& key, | |
| 969 const char* outputColor, | 961 const char* outputColor, |
| 970 const char* inputColor, | 962 const char* inputColor, |
| 971 const TransformedCoordsArray& coor
ds, | 963 const TransformedCoordsArray& coor
ds, |
| 972 const TextureSamplerArray& sampler
s) { | 964 const TextureSamplerArray& sampler
s) { |
| 973 const GrGradientEffect& ge = fp.cast<GrGradientEffect>(); | 965 const GrGradientEffect& ge = fp.cast<GrGradientEffect>(); |
| 974 this->emitUniforms(builder, ge); | 966 this->emitUniforms(builder, ge); |
| 975 fCenterUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, | 967 fCenterUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, |
| 976 kVec2f_GrSLType, "Conical2FSCenter"); | 968 kVec2f_GrSLType, "Conical2FSCenter"); |
| 977 fParamUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, | 969 fParamUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, |
| 978 kVec3f_GrSLType, "Conical2FSParams"); | 970 kVec3f_GrSLType, "Conical2FSParams"); |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1102 typedef GrGradientEffect INHERITED; | 1094 typedef GrGradientEffect INHERITED; |
| 1103 }; | 1095 }; |
| 1104 | 1096 |
| 1105 class GLCircleOutside2PtConicalEffect : public GrGLGradientEffect { | 1097 class GLCircleOutside2PtConicalEffect : public GrGLGradientEffect { |
| 1106 public: | 1098 public: |
| 1107 GLCircleOutside2PtConicalEffect(const GrBackendProcessorFactory&, const GrPr
ocessor&); | 1099 GLCircleOutside2PtConicalEffect(const GrBackendProcessorFactory&, const GrPr
ocessor&); |
| 1108 virtual ~GLCircleOutside2PtConicalEffect() {} | 1100 virtual ~GLCircleOutside2PtConicalEffect() {} |
| 1109 | 1101 |
| 1110 virtual void emitCode(GrGLFPBuilder*, | 1102 virtual void emitCode(GrGLFPBuilder*, |
| 1111 const GrFragmentProcessor&, | 1103 const GrFragmentProcessor&, |
| 1112 const GrProcessorKey&, | |
| 1113 const char* outputColor, | 1104 const char* outputColor, |
| 1114 const char* inputColor, | 1105 const char* inputColor, |
| 1115 const TransformedCoordsArray&, | 1106 const TransformedCoordsArray&, |
| 1116 const TextureSamplerArray&) SK_OVERRIDE; | 1107 const TextureSamplerArray&) SK_OVERRIDE; |
| 1117 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O
VERRIDE; | 1108 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O
VERRIDE; |
| 1118 | 1109 |
| 1119 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); | 1110 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); |
| 1120 | 1111 |
| 1121 protected: | 1112 protected: |
| 1122 UniformHandle fCenterUni; | 1113 UniformHandle fCenterUni; |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1198 , fCachedA(SK_ScalarMax) | 1189 , fCachedA(SK_ScalarMax) |
| 1199 , fCachedB(SK_ScalarMax) | 1190 , fCachedB(SK_ScalarMax) |
| 1200 , fCachedC(SK_ScalarMax) | 1191 , fCachedC(SK_ScalarMax) |
| 1201 , fCachedTLimit(SK_ScalarMax) { | 1192 , fCachedTLimit(SK_ScalarMax) { |
| 1202 const CircleOutside2PtConicalEffect& data = processor.cast<CircleOutside2PtC
onicalEffect>(); | 1193 const CircleOutside2PtConicalEffect& data = processor.cast<CircleOutside2PtC
onicalEffect>(); |
| 1203 fIsFlipped = data.isFlipped(); | 1194 fIsFlipped = data.isFlipped(); |
| 1204 } | 1195 } |
| 1205 | 1196 |
| 1206 void GLCircleOutside2PtConicalEffect::emitCode(GrGLFPBuilder* builder, | 1197 void GLCircleOutside2PtConicalEffect::emitCode(GrGLFPBuilder* builder, |
| 1207 const GrFragmentProcessor& fp, | 1198 const GrFragmentProcessor& fp, |
| 1208 const GrProcessorKey& key, | |
| 1209 const char* outputColor, | 1199 const char* outputColor, |
| 1210 const char* inputColor, | 1200 const char* inputColor, |
| 1211 const TransformedCoordsArray& coo
rds, | 1201 const TransformedCoordsArray& coo
rds, |
| 1212 const TextureSamplerArray& sample
rs) { | 1202 const TextureSamplerArray& sample
rs) { |
| 1213 const GrGradientEffect& ge = fp.cast<GrGradientEffect>(); | 1203 const GrGradientEffect& ge = fp.cast<GrGradientEffect>(); |
| 1214 this->emitUniforms(builder, ge); | 1204 this->emitUniforms(builder, ge); |
| 1215 fCenterUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, | 1205 fCenterUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, |
| 1216 kVec2f_GrSLType, "Conical2FSCenter"); | 1206 kVec2f_GrSLType, "Conical2FSCenter"); |
| 1217 fParamUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, | 1207 fParamUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, |
| 1218 kVec4f_GrSLType, "Conical2FSParams"); | 1208 kVec4f_GrSLType, "Conical2FSParams"); |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1335 return CircleInside2PtConicalEffect::Create(ctx, shader, matrix, tm, inf
o); | 1325 return CircleInside2PtConicalEffect::Create(ctx, shader, matrix, tm, inf
o); |
| 1336 } else if (type == kEdge_ConicalType) { | 1326 } else if (type == kEdge_ConicalType) { |
| 1337 set_matrix_edge_conical(shader, &matrix); | 1327 set_matrix_edge_conical(shader, &matrix); |
| 1338 return Edge2PtConicalEffect::Create(ctx, shader, matrix, tm); | 1328 return Edge2PtConicalEffect::Create(ctx, shader, matrix, tm); |
| 1339 } else { | 1329 } else { |
| 1340 return CircleOutside2PtConicalEffect::Create(ctx, shader, matrix, tm, in
fo); | 1330 return CircleOutside2PtConicalEffect::Create(ctx, shader, matrix, tm, in
fo); |
| 1341 } | 1331 } |
| 1342 } | 1332 } |
| 1343 | 1333 |
| 1344 #endif | 1334 #endif |
| OLD | NEW |