Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1671)

Side by Side Diff: src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp

Issue 761643002: remove one place we read from gpu key in effects (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 217
218 GLEdge2PtConicalEffect::GLEdge2PtConicalEffect(const GrBackendProcessorFactory& factory, 218 GLEdge2PtConicalEffect::GLEdge2PtConicalEffect(const GrBackendProcessorFactory& factory,
219 const GrProcessor&) 219 const GrProcessor&)
220 : INHERITED(factory) 220 : INHERITED(factory)
221 , fVSVaryingName(NULL) 221 , fVSVaryingName(NULL)
222 , fFSVaryingName(NULL) 222 , fFSVaryingName(NULL)
223 , fCachedRadius(-SK_ScalarMax) 223 , fCachedRadius(-SK_ScalarMax)
224 , fCachedDiffRadius(-SK_ScalarMax) {} 224 , fCachedDiffRadius(-SK_ScalarMax) {}
225 225
226 void GLEdge2PtConicalEffect::emitCode(GrGLFPBuilder* builder, 226 void GLEdge2PtConicalEffect::emitCode(GrGLFPBuilder* builder,
227 const GrFragmentProcessor&, 227 const GrFragmentProcessor& fp,
228 const GrProcessorKey& key, 228 const GrProcessorKey& key,
229 const char* outputColor, 229 const char* outputColor,
230 const char* inputColor, 230 const char* inputColor,
231 const TransformedCoordsArray& coords, 231 const TransformedCoordsArray& coords,
232 const TextureSamplerArray& samplers) { 232 const TextureSamplerArray& samplers) {
233 uint32_t baseKey = key.get32(0); 233 const GrGradientEffect& ge = fp.cast<GrGradientEffect>();
234 this->emitUniforms(builder, baseKey); 234 this->emitUniforms(builder, ge);
235 fParamUni = builder->addUniformArray(GrGLProgramBuilder::kFragment_Visibilit y, 235 fParamUni = builder->addUniformArray(GrGLProgramBuilder::kFragment_Visibilit y,
236 kFloat_GrSLType, "Conical2FSParams", 3) ; 236 kFloat_GrSLType, "Conical2FSParams", 3) ;
237 237
238 SkString cName("c"); 238 SkString cName("c");
239 SkString tName("t"); 239 SkString tName("t");
240 SkString p0; // start radius 240 SkString p0; // start radius
241 SkString p1; // start radius squared 241 SkString p1; // start radius squared
242 SkString p2; // difference in radii (r1 - r0) 242 SkString p2; // difference in radii (r1 - r0)
243 243
244 builder->getUniformVariable(fParamUni).appendArrayAccess(0, &p0); 244 builder->getUniformVariable(fParamUni).appendArrayAccess(0, &p0);
(...skipping 25 matching lines...) Expand all
270 cName.c_str(), coords2D, coords2D, p1.c_str()); 270 cName.c_str(), coords2D, coords2D, p1.c_str());
271 271
272 // linear case: t = -c/b 272 // linear case: t = -c/b
273 fsBuilder->codeAppendf("\tfloat %s = -(%s / %s);\n", tName.c_str(), 273 fsBuilder->codeAppendf("\tfloat %s = -(%s / %s);\n", tName.c_str(),
274 cName.c_str(), bVar.c_str()); 274 cName.c_str(), bVar.c_str());
275 275
276 // if r(t) > 0, then t will be the x coordinate 276 // if r(t) > 0, then t will be the x coordinate
277 fsBuilder->codeAppendf("\tif (%s * %s + %s > 0.0) {\n", tName.c_str(), 277 fsBuilder->codeAppendf("\tif (%s * %s + %s > 0.0) {\n", tName.c_str(),
278 p2.c_str(), p0.c_str()); 278 p2.c_str(), p0.c_str());
279 fsBuilder->codeAppend("\t"); 279 fsBuilder->codeAppend("\t");
280 this->emitColor(builder, tName.c_str(), baseKey, outputColor, inputColor, sa mplers); 280 this->emitColor(builder, ge, tName.c_str(), outputColor, inputColor, sampler s);
281 fsBuilder->codeAppend("\t}\n"); 281 fsBuilder->codeAppend("\t}\n");
282 } 282 }
283 283
284 void GLEdge2PtConicalEffect::setData(const GrGLProgramDataManager& pdman, 284 void GLEdge2PtConicalEffect::setData(const GrGLProgramDataManager& pdman,
285 const GrProcessor& processor) { 285 const GrProcessor& processor) {
286 INHERITED::setData(pdman, processor); 286 INHERITED::setData(pdman, processor);
287 const Edge2PtConicalEffect& data = processor.cast<Edge2PtConicalEffect>(); 287 const Edge2PtConicalEffect& data = processor.cast<Edge2PtConicalEffect>();
288 SkScalar radius0 = data.radius(); 288 SkScalar radius0 = data.radius();
289 SkScalar diffRadius = data.diffRadius(); 289 SkScalar diffRadius = data.diffRadius();
290 290
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
498 const GrProcessor & processor) 498 const GrProcessor & processor)
499 : INHERITED(factory) 499 : INHERITED(factory)
500 , fVSVaryingName(NULL) 500 , fVSVaryingName(NULL)
501 , fFSVaryingName(NULL) 501 , fFSVaryingName(NULL)
502 , fCachedFocal(SK_ScalarMax) { 502 , fCachedFocal(SK_ScalarMax) {
503 const FocalOutside2PtConicalEffect& data = processor.cast<FocalOutside2PtCon icalEffect>(); 503 const FocalOutside2PtConicalEffect& data = processor.cast<FocalOutside2PtCon icalEffect>();
504 fIsFlipped = data.isFlipped(); 504 fIsFlipped = data.isFlipped();
505 } 505 }
506 506
507 void GLFocalOutside2PtConicalEffect::emitCode(GrGLFPBuilder* builder, 507 void GLFocalOutside2PtConicalEffect::emitCode(GrGLFPBuilder* builder,
508 const GrFragmentProcessor&, 508 const GrFragmentProcessor& fp,
509 const GrProcessorKey& key, 509 const GrProcessorKey& key,
510 const char* outputColor, 510 const char* outputColor,
511 const char* inputColor, 511 const char* inputColor,
512 const TransformedCoordsArray& coor ds, 512 const TransformedCoordsArray& coor ds,
513 const TextureSamplerArray& sampler s) { 513 const TextureSamplerArray& sampler s) {
514 uint32_t baseKey = key.get32(0); 514 const GrGradientEffect& ge = fp.cast<GrGradientEffect>();
515 this->emitUniforms(builder, baseKey); 515 this->emitUniforms(builder, ge);
516 fParamUni = builder->addUniformArray(GrGLProgramBuilder::kFragment_Visibilit y, 516 fParamUni = builder->addUniformArray(GrGLProgramBuilder::kFragment_Visibilit y,
517 kFloat_GrSLType, "Conical2FSParams", 2) ; 517 kFloat_GrSLType, "Conical2FSParams", 2) ;
518 SkString tName("t"); 518 SkString tName("t");
519 SkString p0; // focalX 519 SkString p0; // focalX
520 SkString p1; // 1 - focalX * focalX 520 SkString p1; // 1 - focalX * focalX
521 521
522 builder->getUniformVariable(fParamUni).appendArrayAccess(0, &p0); 522 builder->getUniformVariable(fParamUni).appendArrayAccess(0, &p0);
523 builder->getUniformVariable(fParamUni).appendArrayAccess(1, &p1); 523 builder->getUniformVariable(fParamUni).appendArrayAccess(1, &p1);
524 524
525 // if we have a vec3 from being in perspective, convert it to a vec2 first 525 // if we have a vec3 from being in perspective, convert it to a vec2 first
(...skipping 16 matching lines...) Expand all
542 if (!fIsFlipped) { 542 if (!fIsFlipped) {
543 fsBuilder->codeAppendf("\tfloat %s = %s.x * %s + sqrt(d);\n", tName.c_s tr(), 543 fsBuilder->codeAppendf("\tfloat %s = %s.x * %s + sqrt(d);\n", tName.c_s tr(),
544 coords2D, p0.c_str()); 544 coords2D, p0.c_str());
545 } else { 545 } else {
546 fsBuilder->codeAppendf("\tfloat %s = %s.x * %s - sqrt(d);\n", tName.c_s tr(), 546 fsBuilder->codeAppendf("\tfloat %s = %s.x * %s - sqrt(d);\n", tName.c_s tr(),
547 coords2D, p0.c_str()); 547 coords2D, p0.c_str());
548 } 548 }
549 549
550 fsBuilder->codeAppendf("\tif (%s >= 0.0 && d >= 0.0) {\n", tName.c_str()); 550 fsBuilder->codeAppendf("\tif (%s >= 0.0 && d >= 0.0) {\n", tName.c_str());
551 fsBuilder->codeAppend("\t\t"); 551 fsBuilder->codeAppend("\t\t");
552 this->emitColor(builder, tName.c_str(), baseKey, outputColor, inputColor, sa mplers); 552 this->emitColor(builder, ge, tName.c_str(), outputColor, inputColor, sampler s);
553 fsBuilder->codeAppend("\t}\n"); 553 fsBuilder->codeAppend("\t}\n");
554 } 554 }
555 555
556 void GLFocalOutside2PtConicalEffect::setData(const GrGLProgramDataManager& pdman , 556 void GLFocalOutside2PtConicalEffect::setData(const GrGLProgramDataManager& pdman ,
557 const GrProcessor& processor) { 557 const GrProcessor& processor) {
558 INHERITED::setData(pdman, processor); 558 INHERITED::setData(pdman, processor);
559 const FocalOutside2PtConicalEffect& data = processor.cast<FocalOutside2PtCon icalEffect>(); 559 const FocalOutside2PtConicalEffect& data = processor.cast<FocalOutside2PtCon icalEffect>();
560 SkASSERT(data.isFlipped() == fIsFlipped); 560 SkASSERT(data.isFlipped() == fIsFlipped);
561 SkScalar focal = data.focal(); 561 SkScalar focal = data.focal();
562 562
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
704 } 704 }
705 705
706 GLFocalInside2PtConicalEffect::GLFocalInside2PtConicalEffect(const GrBackendProc essorFactory& factory, 706 GLFocalInside2PtConicalEffect::GLFocalInside2PtConicalEffect(const GrBackendProc essorFactory& factory,
707 const GrProcessor&) 707 const GrProcessor&)
708 : INHERITED(factory) 708 : INHERITED(factory)
709 , fVSVaryingName(NULL) 709 , fVSVaryingName(NULL)
710 , fFSVaryingName(NULL) 710 , fFSVaryingName(NULL)
711 , fCachedFocal(SK_ScalarMax) {} 711 , fCachedFocal(SK_ScalarMax) {}
712 712
713 void GLFocalInside2PtConicalEffect::emitCode(GrGLFPBuilder* builder, 713 void GLFocalInside2PtConicalEffect::emitCode(GrGLFPBuilder* builder,
714 const GrFragmentProcessor&, 714 const GrFragmentProcessor& fp,
715 const GrProcessorKey& key, 715 const GrProcessorKey& key,
716 const char* outputColor, 716 const char* outputColor,
717 const char* inputColor, 717 const char* inputColor,
718 const TransformedCoordsArray& coord s, 718 const TransformedCoordsArray& coord s,
719 const TextureSamplerArray& samplers ) { 719 const TextureSamplerArray& samplers ) {
720 uint32_t baseKey = key.get32(0); 720 const GrGradientEffect& ge = fp.cast<GrGradientEffect>();
721 this->emitUniforms(builder, baseKey); 721 this->emitUniforms(builder, ge);
722 fFocalUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, 722 fFocalUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility,
723 kFloat_GrSLType, "Conical2FSParams"); 723 kFloat_GrSLType, "Conical2FSParams");
724 SkString tName("t"); 724 SkString tName("t");
725 725
726 // this is the distance along x-axis from the end center to focal point in 726 // this is the distance along x-axis from the end center to focal point in
727 // transformed coordinates 727 // transformed coordinates
728 GrGLShaderVar focal = builder->getUniformVariable(fFocalUni); 728 GrGLShaderVar focal = builder->getUniformVariable(fFocalUni);
729 729
730 // if we have a vec3 from being in perspective, convert it to a vec2 first 730 // if we have a vec3 from being in perspective, convert it to a vec2 first
731 GrGLFPFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); 731 GrGLFPFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder();
732 SkString coords2DString = fsBuilder->ensureFSCoords2D(coords, 0); 732 SkString coords2DString = fsBuilder->ensureFSCoords2D(coords, 0);
733 const char* coords2D = coords2DString.c_str(); 733 const char* coords2D = coords2DString.c_str();
734 734
735 // t = p.x * focalX + length(p) 735 // t = p.x * focalX + length(p)
736 fsBuilder->codeAppendf("\tfloat %s = %s.x * %s + length(%s);\n", tName.c_st r(), 736 fsBuilder->codeAppendf("\tfloat %s = %s.x * %s + length(%s);\n", tName.c_st r(),
737 coords2D, focal.c_str(), coords2D); 737 coords2D, focal.c_str(), coords2D);
738 738
739 this->emitColor(builder, tName.c_str(), baseKey, outputColor, inputColor, sa mplers); 739 this->emitColor(builder, ge, tName.c_str(), outputColor, inputColor, sampler s);
740 } 740 }
741 741
742 void GLFocalInside2PtConicalEffect::setData(const GrGLProgramDataManager& pdman, 742 void GLFocalInside2PtConicalEffect::setData(const GrGLProgramDataManager& pdman,
743 const GrProcessor& processor) { 743 const GrProcessor& processor) {
744 INHERITED::setData(pdman, processor); 744 INHERITED::setData(pdman, processor);
745 const FocalInside2PtConicalEffect& data = processor.cast<FocalInside2PtConic alEffect>(); 745 const FocalInside2PtConicalEffect& data = processor.cast<FocalInside2PtConic alEffect>();
746 SkScalar focal = data.focal(); 746 SkScalar focal = data.focal();
747 747
748 if (fCachedFocal != focal) { 748 if (fCachedFocal != focal) {
749 pdman.set1f(fFocalUni, SkScalarToFloat(focal)); 749 pdman.set1f(fFocalUni, SkScalarToFloat(focal));
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
957 : INHERITED(factory) 957 : INHERITED(factory)
958 , fVSVaryingName(NULL) 958 , fVSVaryingName(NULL)
959 , fFSVaryingName(NULL) 959 , fFSVaryingName(NULL)
960 , fCachedCenterX(SK_ScalarMax) 960 , fCachedCenterX(SK_ScalarMax)
961 , fCachedCenterY(SK_ScalarMax) 961 , fCachedCenterY(SK_ScalarMax)
962 , fCachedA(SK_ScalarMax) 962 , fCachedA(SK_ScalarMax)
963 , fCachedB(SK_ScalarMax) 963 , fCachedB(SK_ScalarMax)
964 , fCachedC(SK_ScalarMax) {} 964 , fCachedC(SK_ScalarMax) {}
965 965
966 void GLCircleInside2PtConicalEffect::emitCode(GrGLFPBuilder* builder, 966 void GLCircleInside2PtConicalEffect::emitCode(GrGLFPBuilder* builder,
967 const GrFragmentProcessor&, 967 const GrFragmentProcessor& fp,
968 const GrProcessorKey& key, 968 const GrProcessorKey& key,
969 const char* outputColor, 969 const char* outputColor,
970 const char* inputColor, 970 const char* inputColor,
971 const TransformedCoordsArray& coor ds, 971 const TransformedCoordsArray& coor ds,
972 const TextureSamplerArray& sampler s) { 972 const TextureSamplerArray& sampler s) {
973 uint32_t baseKey = key.get32(0); 973 const GrGradientEffect& ge = fp.cast<GrGradientEffect>();
974 this->emitUniforms(builder, baseKey); 974 this->emitUniforms(builder, ge);
975 fCenterUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, 975 fCenterUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility,
976 kVec2f_GrSLType, "Conical2FSCenter"); 976 kVec2f_GrSLType, "Conical2FSCenter");
977 fParamUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, 977 fParamUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility,
978 kVec3f_GrSLType, "Conical2FSParams"); 978 kVec3f_GrSLType, "Conical2FSParams");
979 SkString tName("t"); 979 SkString tName("t");
980 980
981 GrGLShaderVar center = builder->getUniformVariable(fCenterUni); 981 GrGLShaderVar center = builder->getUniformVariable(fCenterUni);
982 // params.x = A 982 // params.x = A
983 // params.y = B 983 // params.y = B
984 // params.z = C 984 // params.z = C
(...skipping 11 matching lines...) Expand all
996 // B = (r -1) / A 996 // B = (r -1) / A
997 // C = 1 / A 997 // C = 1 / A
998 // d = dot(e, p) + B 998 // d = dot(e, p) + B
999 // t = d +/- sqrt(d^2 - A * dot(p, p) + C) 999 // t = d +/- sqrt(d^2 - A * dot(p, p) + C)
1000 fsBuilder->codeAppendf("\tfloat pDotp = dot(%s, %s);\n", coords2D, coords2D ); 1000 fsBuilder->codeAppendf("\tfloat pDotp = dot(%s, %s);\n", coords2D, coords2D );
1001 fsBuilder->codeAppendf("\tfloat d = dot(%s, %s) + %s.y;\n", coords2D, cente r.c_str(), 1001 fsBuilder->codeAppendf("\tfloat d = dot(%s, %s) + %s.y;\n", coords2D, cente r.c_str(),
1002 params.c_str()); 1002 params.c_str());
1003 fsBuilder->codeAppendf("\tfloat %s = d + sqrt(d * d - %s.x * pDotp + %s.z);\ n", 1003 fsBuilder->codeAppendf("\tfloat %s = d + sqrt(d * d - %s.x * pDotp + %s.z);\ n",
1004 tName.c_str(), params.c_str(), params.c_str()); 1004 tName.c_str(), params.c_str(), params.c_str());
1005 1005
1006 this->emitColor(builder, tName.c_str(), baseKey, outputColor, inputColor, sa mplers); 1006 this->emitColor(builder, ge, tName.c_str(), outputColor, inputColor, sampler s);
1007 } 1007 }
1008 1008
1009 void GLCircleInside2PtConicalEffect::setData(const GrGLProgramDataManager& pdman , 1009 void GLCircleInside2PtConicalEffect::setData(const GrGLProgramDataManager& pdman ,
1010 const GrProcessor& processor) { 1010 const GrProcessor& processor) {
1011 INHERITED::setData(pdman, processor); 1011 INHERITED::setData(pdman, processor);
1012 const CircleInside2PtConicalEffect& data = processor.cast<CircleInside2PtCon icalEffect>(); 1012 const CircleInside2PtConicalEffect& data = processor.cast<CircleInside2PtCon icalEffect>();
1013 SkScalar centerX = data.centerX(); 1013 SkScalar centerX = data.centerX();
1014 SkScalar centerY = data.centerY(); 1014 SkScalar centerY = data.centerY();
1015 SkScalar A = data.A(); 1015 SkScalar A = data.A();
1016 SkScalar B = data.B(); 1016 SkScalar B = data.B();
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
1197 , fCachedCenterY(SK_ScalarMax) 1197 , fCachedCenterY(SK_ScalarMax)
1198 , fCachedA(SK_ScalarMax) 1198 , fCachedA(SK_ScalarMax)
1199 , fCachedB(SK_ScalarMax) 1199 , fCachedB(SK_ScalarMax)
1200 , fCachedC(SK_ScalarMax) 1200 , fCachedC(SK_ScalarMax)
1201 , fCachedTLimit(SK_ScalarMax) { 1201 , fCachedTLimit(SK_ScalarMax) {
1202 const CircleOutside2PtConicalEffect& data = processor.cast<CircleOutside2PtC onicalEffect>(); 1202 const CircleOutside2PtConicalEffect& data = processor.cast<CircleOutside2PtC onicalEffect>();
1203 fIsFlipped = data.isFlipped(); 1203 fIsFlipped = data.isFlipped();
1204 } 1204 }
1205 1205
1206 void GLCircleOutside2PtConicalEffect::emitCode(GrGLFPBuilder* builder, 1206 void GLCircleOutside2PtConicalEffect::emitCode(GrGLFPBuilder* builder,
1207 const GrFragmentProcessor&, 1207 const GrFragmentProcessor& fp,
1208 const GrProcessorKey& key, 1208 const GrProcessorKey& key,
1209 const char* outputColor, 1209 const char* outputColor,
1210 const char* inputColor, 1210 const char* inputColor,
1211 const TransformedCoordsArray& coo rds, 1211 const TransformedCoordsArray& coo rds,
1212 const TextureSamplerArray& sample rs) { 1212 const TextureSamplerArray& sample rs) {
1213 uint32_t baseKey = key.get32(0); 1213 const GrGradientEffect& ge = fp.cast<GrGradientEffect>();
1214 this->emitUniforms(builder, baseKey); 1214 this->emitUniforms(builder, ge);
1215 fCenterUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, 1215 fCenterUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility,
1216 kVec2f_GrSLType, "Conical2FSCenter"); 1216 kVec2f_GrSLType, "Conical2FSCenter");
1217 fParamUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility, 1217 fParamUni = builder->addUniform(GrGLProgramBuilder::kFragment_Visibility,
1218 kVec4f_GrSLType, "Conical2FSParams"); 1218 kVec4f_GrSLType, "Conical2FSParams");
1219 SkString tName("t"); 1219 SkString tName("t");
1220 1220
1221 GrGLShaderVar center = builder->getUniformVariable(fCenterUni); 1221 GrGLShaderVar center = builder->getUniformVariable(fCenterUni);
1222 // params.x = A 1222 // params.x = A
1223 // params.y = B 1223 // params.y = B
1224 // params.z = C 1224 // params.z = C
(...skipping 26 matching lines...) Expand all
1251 // Must check to see if we flipped the circle order (to make sure start radi us < end radius) 1251 // Must check to see if we flipped the circle order (to make sure start radi us < end radius)
1252 // If so we must also flip sign on sqrt 1252 // If so we must also flip sign on sqrt
1253 if (!fIsFlipped) { 1253 if (!fIsFlipped) {
1254 fsBuilder->codeAppendf("\tfloat %s = d + sqrt(deter);\n", tName.c_str()) ; 1254 fsBuilder->codeAppendf("\tfloat %s = d + sqrt(deter);\n", tName.c_str()) ;
1255 } else { 1255 } else {
1256 fsBuilder->codeAppendf("\tfloat %s = d - sqrt(deter);\n", tName.c_str()) ; 1256 fsBuilder->codeAppendf("\tfloat %s = d - sqrt(deter);\n", tName.c_str()) ;
1257 } 1257 }
1258 1258
1259 fsBuilder->codeAppendf("\tif (%s >= %s.w && deter >= 0.0) {\n", tName.c_str( ), params.c_str()); 1259 fsBuilder->codeAppendf("\tif (%s >= %s.w && deter >= 0.0) {\n", tName.c_str( ), params.c_str());
1260 fsBuilder->codeAppend("\t\t"); 1260 fsBuilder->codeAppend("\t\t");
1261 this->emitColor(builder, tName.c_str(), baseKey, outputColor, inputColor, sa mplers); 1261 this->emitColor(builder, ge, tName.c_str(), outputColor, inputColor, sampler s);
1262 fsBuilder->codeAppend("\t}\n"); 1262 fsBuilder->codeAppend("\t}\n");
1263 } 1263 }
1264 1264
1265 void GLCircleOutside2PtConicalEffect::setData(const GrGLProgramDataManager& pdma n, 1265 void GLCircleOutside2PtConicalEffect::setData(const GrGLProgramDataManager& pdma n,
1266 const GrProcessor& processor) { 1266 const GrProcessor& processor) {
1267 INHERITED::setData(pdman, processor); 1267 INHERITED::setData(pdman, processor);
1268 const CircleOutside2PtConicalEffect& data = processor.cast<CircleOutside2PtC onicalEffect>(); 1268 const CircleOutside2PtConicalEffect& data = processor.cast<CircleOutside2PtC onicalEffect>();
1269 SkASSERT(data.isFlipped() == fIsFlipped); 1269 SkASSERT(data.isFlipped() == fIsFlipped);
1270 SkScalar centerX = data.centerX(); 1270 SkScalar centerX = data.centerX();
1271 SkScalar centerY = data.centerY(); 1271 SkScalar centerY = data.centerY();
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
1335 return CircleInside2PtConicalEffect::Create(ctx, shader, matrix, tm, inf o); 1335 return CircleInside2PtConicalEffect::Create(ctx, shader, matrix, tm, inf o);
1336 } else if (type == kEdge_ConicalType) { 1336 } else if (type == kEdge_ConicalType) {
1337 set_matrix_edge_conical(shader, &matrix); 1337 set_matrix_edge_conical(shader, &matrix);
1338 return Edge2PtConicalEffect::Create(ctx, shader, matrix, tm); 1338 return Edge2PtConicalEffect::Create(ctx, shader, matrix, tm);
1339 } else { 1339 } else {
1340 return CircleOutside2PtConicalEffect::Create(ctx, shader, matrix, tm, in fo); 1340 return CircleOutside2PtConicalEffect::Create(ctx, shader, matrix, tm, in fo);
1341 } 1341 }
1342 } 1342 }
1343 1343
1344 #endif 1344 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698