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

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

Issue 1313573005: Revert of Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor* (Closed) Base URL: https://skia.googlesource.com/skia.git@things
Patch Set: Created 5 years, 3 months 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
« no previous file with comments | « src/effects/gradients/SkTwoPointConicalGradient.cpp ('k') | src/gpu/GrAAConvexPathRenderer.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 176
177 GrGLFragmentProcessor* Edge2PtConicalEffect::onCreateGLInstance() const { 177 GrGLFragmentProcessor* Edge2PtConicalEffect::onCreateGLInstance() const {
178 return new GLEdge2PtConicalEffect(*this); 178 return new GLEdge2PtConicalEffect(*this);
179 } 179 }
180 180
181 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(Edge2PtConicalEffect); 181 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(Edge2PtConicalEffect);
182 182
183 /* 183 /*
184 * All Two point conical gradient test create functions may occasionally create edge case shaders 184 * All Two point conical gradient test create functions may occasionally create edge case shaders
185 */ 185 */
186 const GrFragmentProcessor* Edge2PtConicalEffect::TestCreate(GrProcessorTestData* d) { 186 GrFragmentProcessor* Edge2PtConicalEffect::TestCreate(GrProcessorTestData* d) {
187 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; 187 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()};
188 SkScalar radius1 = d->fRandom->nextUScalar1(); 188 SkScalar radius1 = d->fRandom->nextUScalar1();
189 SkPoint center2; 189 SkPoint center2;
190 SkScalar radius2; 190 SkScalar radius2;
191 do { 191 do {
192 center2.set(d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()); 192 center2.set(d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1());
193 // If the circles are identical the factory will give us an empty shader . 193 // If the circles are identical the factory will give us an empty shader .
194 // This will happen if we pick identical centers 194 // This will happen if we pick identical centers
195 } while (center1 == center2); 195 } while (center1 == center2);
196 196
197 // Below makes sure that circle one is contained within circle two 197 // Below makes sure that circle one is contained within circle two
198 // and both circles are touching on an edge 198 // and both circles are touching on an edge
199 SkPoint diff = center2 - center1; 199 SkPoint diff = center2 - center1;
200 SkScalar diffLen = diff.length(); 200 SkScalar diffLen = diff.length();
201 radius2 = radius1 + diffLen; 201 radius2 = radius1 + diffLen;
202 202
203 SkColor colors[kMaxRandomGradientColors]; 203 SkColor colors[kMaxRandomGradientColors];
204 SkScalar stopsArray[kMaxRandomGradientColors]; 204 SkScalar stopsArray[kMaxRandomGradientColors];
205 SkScalar* stops = stopsArray; 205 SkScalar* stops = stopsArray;
206 SkShader::TileMode tm; 206 SkShader::TileMode tm;
207 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm); 207 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm);
208 SkAutoTUnref<SkShader> shader(SkGradientShader::CreateTwoPointConical(center 1, radius1, 208 SkAutoTUnref<SkShader> shader(SkGradientShader::CreateTwoPointConical(center 1, radius1,
209 center 2, radius2, 209 center 2, radius2,
210 colors , stops, colorCount, 210 colors , stops, colorCount,
211 tm)); 211 tm));
212 const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext, 212 SkPaint paint;
213 GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality, d->fProcDat aManager); 213 GrFragmentProcessor* fp;
214 GrAlwaysAssert(fp); 214 GrColor paintColor;
215 SkAssertResult(shader->asFragmentProcessor(d->fContext, paint,
216 GrTest::TestMatrix(d->fRandom), n ullptr,
217 &paintColor, d->fProcDataManager, &fp));
215 return fp; 218 return fp;
216 } 219 }
217 220
218 GLEdge2PtConicalEffect::GLEdge2PtConicalEffect(const GrProcessor&) 221 GLEdge2PtConicalEffect::GLEdge2PtConicalEffect(const GrProcessor&)
219 : fVSVaryingName(nullptr) 222 : fVSVaryingName(nullptr)
220 , fFSVaryingName(nullptr) 223 , fFSVaryingName(nullptr)
221 , fCachedRadius(-SK_ScalarMax) 224 , fCachedRadius(-SK_ScalarMax)
222 , fCachedDiffRadius(-SK_ScalarMax) {} 225 , fCachedDiffRadius(-SK_ScalarMax) {}
223 226
224 void GLEdge2PtConicalEffect::emitCode(EmitArgs& args) { 227 void GLEdge2PtConicalEffect::emitCode(EmitArgs& args) {
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 458
456 GrGLFragmentProcessor* FocalOutside2PtConicalEffect::onCreateGLInstance() const { 459 GrGLFragmentProcessor* FocalOutside2PtConicalEffect::onCreateGLInstance() const {
457 return new GLFocalOutside2PtConicalEffect(*this); 460 return new GLFocalOutside2PtConicalEffect(*this);
458 } 461 }
459 462
460 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(FocalOutside2PtConicalEffect); 463 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(FocalOutside2PtConicalEffect);
461 464
462 /* 465 /*
463 * All Two point conical gradient test create functions may occasionally create edge case shaders 466 * All Two point conical gradient test create functions may occasionally create edge case shaders
464 */ 467 */
465 const GrFragmentProcessor* FocalOutside2PtConicalEffect::TestCreate(GrProcessorT estData* d) { 468 GrFragmentProcessor* FocalOutside2PtConicalEffect::TestCreate(GrProcessorTestDat a* d) {
466 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; 469 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()};
467 SkScalar radius1 = 0.f; 470 SkScalar radius1 = 0.f;
468 SkPoint center2; 471 SkPoint center2;
469 SkScalar radius2; 472 SkScalar radius2;
470 do { 473 do {
471 center2.set(d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()); 474 center2.set(d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1());
472 // Need to make sure the centers are not the same or else focal point wi ll be inside 475 // Need to make sure the centers are not the same or else focal point wi ll be inside
473 } while (center1 == center2); 476 } while (center1 == center2);
474 SkPoint diff = center2 - center1; 477 SkPoint diff = center2 - center1;
475 SkScalar diffLen = diff.length(); 478 SkScalar diffLen = diff.length();
476 // Below makes sure that the focal point is not contained within circle two 479 // Below makes sure that the focal point is not contained within circle two
477 radius2 = d->fRandom->nextRangeF(0.f, diffLen); 480 radius2 = d->fRandom->nextRangeF(0.f, diffLen);
478 481
479 SkColor colors[kMaxRandomGradientColors]; 482 SkColor colors[kMaxRandomGradientColors];
480 SkScalar stopsArray[kMaxRandomGradientColors]; 483 SkScalar stopsArray[kMaxRandomGradientColors];
481 SkScalar* stops = stopsArray; 484 SkScalar* stops = stopsArray;
482 SkShader::TileMode tm; 485 SkShader::TileMode tm;
483 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm); 486 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm);
484 SkAutoTUnref<SkShader> shader(SkGradientShader::CreateTwoPointConical(center 1, radius1, 487 SkAutoTUnref<SkShader> shader(SkGradientShader::CreateTwoPointConical(center 1, radius1,
485 center 2, radius2, 488 center 2, radius2,
486 colors , stops, colorCount, 489 colors , stops, colorCount,
487 tm)); 490 tm));
488 const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext, 491 SkPaint paint;
489 GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality, d->fProcDat aManager); 492 GrFragmentProcessor* effect;
490 GrAlwaysAssert(fp); 493 GrColor paintColor;
491 return fp; 494 GrPaint grPaint;
495 SkAssertResult(shader->asFragmentProcessor(d->fContext, paint,
496 GrTest::TestMatrix(d->fRandom), n ullptr,
497 &paintColor, d->fProcDataManager,
498 &effect));
499 return effect;
492 } 500 }
493 501
494 GLFocalOutside2PtConicalEffect::GLFocalOutside2PtConicalEffect(const GrProcessor & processor) 502 GLFocalOutside2PtConicalEffect::GLFocalOutside2PtConicalEffect(const GrProcessor & processor)
495 : fVSVaryingName(nullptr) 503 : fVSVaryingName(nullptr)
496 , fFSVaryingName(nullptr) 504 , fFSVaryingName(nullptr)
497 , fCachedFocal(SK_ScalarMax) { 505 , fCachedFocal(SK_ScalarMax) {
498 const FocalOutside2PtConicalEffect& data = processor.cast<FocalOutside2PtCon icalEffect>(); 506 const FocalOutside2PtConicalEffect& data = processor.cast<FocalOutside2PtCon icalEffect>();
499 fIsFlipped = data.isFlipped(); 507 fIsFlipped = data.isFlipped();
500 } 508 }
501 509
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
661 669
662 GrGLFragmentProcessor* FocalInside2PtConicalEffect::onCreateGLInstance() const { 670 GrGLFragmentProcessor* FocalInside2PtConicalEffect::onCreateGLInstance() const {
663 return new GLFocalInside2PtConicalEffect(*this); 671 return new GLFocalInside2PtConicalEffect(*this);
664 } 672 }
665 673
666 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(FocalInside2PtConicalEffect); 674 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(FocalInside2PtConicalEffect);
667 675
668 /* 676 /*
669 * All Two point conical gradient test create functions may occasionally create edge case shaders 677 * All Two point conical gradient test create functions may occasionally create edge case shaders
670 */ 678 */
671 const GrFragmentProcessor* FocalInside2PtConicalEffect::TestCreate(GrProcessorTe stData* d) { 679 GrFragmentProcessor* FocalInside2PtConicalEffect::TestCreate(GrProcessorTestData * d) {
672 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; 680 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()};
673 SkScalar radius1 = 0.f; 681 SkScalar radius1 = 0.f;
674 SkPoint center2; 682 SkPoint center2;
675 SkScalar radius2; 683 SkScalar radius2;
676 do { 684 do {
677 center2.set(d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()); 685 center2.set(d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1());
678 // Below makes sure radius2 is larger enouch such that the focal point 686 // Below makes sure radius2 is larger enouch such that the focal point
679 // is inside the end circle 687 // is inside the end circle
680 SkScalar increase = d->fRandom->nextUScalar1(); 688 SkScalar increase = d->fRandom->nextUScalar1();
681 SkPoint diff = center2 - center1; 689 SkPoint diff = center2 - center1;
682 SkScalar diffLen = diff.length(); 690 SkScalar diffLen = diff.length();
683 radius2 = diffLen + increase; 691 radius2 = diffLen + increase;
684 // If the circles are identical the factory will give us an empty shader . 692 // If the circles are identical the factory will give us an empty shader .
685 } while (radius1 == radius2 && center1 == center2); 693 } while (radius1 == radius2 && center1 == center2);
686 694
687 SkColor colors[kMaxRandomGradientColors]; 695 SkColor colors[kMaxRandomGradientColors];
688 SkScalar stopsArray[kMaxRandomGradientColors]; 696 SkScalar stopsArray[kMaxRandomGradientColors];
689 SkScalar* stops = stopsArray; 697 SkScalar* stops = stopsArray;
690 SkShader::TileMode tm; 698 SkShader::TileMode tm;
691 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm); 699 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm);
692 SkAutoTUnref<SkShader> shader(SkGradientShader::CreateTwoPointConical(center 1, radius1, 700 SkAutoTUnref<SkShader> shader(SkGradientShader::CreateTwoPointConical(center 1, radius1,
693 center 2, radius2, 701 center 2, radius2,
694 colors , stops, colorCount, 702 colors , stops, colorCount,
695 tm)); 703 tm));
696 const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext, 704 SkPaint paint;
697 GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality, d->fProcDat aManager); 705 GrColor paintColor;
698 GrAlwaysAssert(fp); 706 GrFragmentProcessor* fp;
707 SkAssertResult(shader->asFragmentProcessor(d->fContext, paint,
708 GrTest::TestMatrix(d->fRandom), n ullptr,
709 &paintColor, d->fProcDataManager, &fp));
699 return fp; 710 return fp;
700 } 711 }
701 712
702 GLFocalInside2PtConicalEffect::GLFocalInside2PtConicalEffect(const GrProcessor&) 713 GLFocalInside2PtConicalEffect::GLFocalInside2PtConicalEffect(const GrProcessor&)
703 : fVSVaryingName(nullptr) 714 : fVSVaryingName(nullptr)
704 , fFSVaryingName(nullptr) 715 , fFSVaryingName(nullptr)
705 , fCachedFocal(SK_ScalarMax) {} 716 , fCachedFocal(SK_ScalarMax) {}
706 717
707 void GLFocalInside2PtConicalEffect::emitCode(EmitArgs& args) { 718 void GLFocalInside2PtConicalEffect::emitCode(EmitArgs& args) {
708 const FocalInside2PtConicalEffect& ge = args.fFp.cast<FocalInside2PtConicalE ffect>(); 719 const FocalInside2PtConicalEffect& ge = args.fFp.cast<FocalInside2PtConicalE ffect>();
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
905 916
906 GrGLFragmentProcessor* CircleInside2PtConicalEffect::onCreateGLInstance() const { 917 GrGLFragmentProcessor* CircleInside2PtConicalEffect::onCreateGLInstance() const {
907 return new GLCircleInside2PtConicalEffect(*this); 918 return new GLCircleInside2PtConicalEffect(*this);
908 } 919 }
909 920
910 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleInside2PtConicalEffect); 921 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleInside2PtConicalEffect);
911 922
912 /* 923 /*
913 * All Two point conical gradient test create functions may occasionally create edge case shaders 924 * All Two point conical gradient test create functions may occasionally create edge case shaders
914 */ 925 */
915 const GrFragmentProcessor* CircleInside2PtConicalEffect::TestCreate(GrProcessorT estData* d) { 926 GrFragmentProcessor*
927 CircleInside2PtConicalEffect::TestCreate(GrProcessorTestData* d) {
916 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; 928 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()};
917 SkScalar radius1 = d->fRandom->nextUScalar1() + 0.0001f; // make sure radius 1 != 0 929 SkScalar radius1 = d->fRandom->nextUScalar1() + 0.0001f; // make sure radius 1 != 0
918 SkPoint center2; 930 SkPoint center2;
919 SkScalar radius2; 931 SkScalar radius2;
920 do { 932 do {
921 center2.set(d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()); 933 center2.set(d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1());
922 // Below makes sure that circle one is contained within circle two 934 // Below makes sure that circle one is contained within circle two
923 SkScalar increase = d->fRandom->nextUScalar1(); 935 SkScalar increase = d->fRandom->nextUScalar1();
924 SkPoint diff = center2 - center1; 936 SkPoint diff = center2 - center1;
925 SkScalar diffLen = diff.length(); 937 SkScalar diffLen = diff.length();
926 radius2 = radius1 + diffLen + increase; 938 radius2 = radius1 + diffLen + increase;
927 // If the circles are identical the factory will give us an empty shader . 939 // If the circles are identical the factory will give us an empty shader .
928 } while (radius1 == radius2 && center1 == center2); 940 } while (radius1 == radius2 && center1 == center2);
929 941
930 SkColor colors[kMaxRandomGradientColors]; 942 SkColor colors[kMaxRandomGradientColors];
931 SkScalar stopsArray[kMaxRandomGradientColors]; 943 SkScalar stopsArray[kMaxRandomGradientColors];
932 SkScalar* stops = stopsArray; 944 SkScalar* stops = stopsArray;
933 SkShader::TileMode tm; 945 SkShader::TileMode tm;
934 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm); 946 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm);
935 SkAutoTUnref<SkShader> shader(SkGradientShader::CreateTwoPointConical(center 1, radius1, 947 SkAutoTUnref<SkShader> shader(SkGradientShader::CreateTwoPointConical(center 1, radius1,
936 center 2, radius2, 948 center 2, radius2,
937 colors , stops, colorCount, 949 colors , stops, colorCount,
938 tm)); 950 tm));
939 const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext, 951 SkPaint paint;
940 GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality, d->fProcDat aManager); 952 GrColor paintColor;
941 GrAlwaysAssert(fp); 953 GrFragmentProcessor* fp;
954 SkAssertResult(shader->asFragmentProcessor(d->fContext, paint,
955 GrTest::TestMatrix(d->fRandom), n ullptr,
956 &paintColor, d->fProcDataManager, &fp));
942 return fp; 957 return fp;
943 } 958 }
944 959
945 GLCircleInside2PtConicalEffect::GLCircleInside2PtConicalEffect(const GrProcessor & processor) 960 GLCircleInside2PtConicalEffect::GLCircleInside2PtConicalEffect(const GrProcessor & processor)
946 : fVSVaryingName(nullptr) 961 : fVSVaryingName(nullptr)
947 , fFSVaryingName(nullptr) 962 , fFSVaryingName(nullptr)
948 , fCachedCenterX(SK_ScalarMax) 963 , fCachedCenterX(SK_ScalarMax)
949 , fCachedCenterY(SK_ScalarMax) 964 , fCachedCenterY(SK_ScalarMax)
950 , fCachedA(SK_ScalarMax) 965 , fCachedA(SK_ScalarMax)
951 , fCachedB(SK_ScalarMax) 966 , fCachedB(SK_ScalarMax)
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
1132 1147
1133 GrGLFragmentProcessor* CircleOutside2PtConicalEffect::onCreateGLInstance() const { 1148 GrGLFragmentProcessor* CircleOutside2PtConicalEffect::onCreateGLInstance() const {
1134 return new GLCircleOutside2PtConicalEffect(*this); 1149 return new GLCircleOutside2PtConicalEffect(*this);
1135 } 1150 }
1136 1151
1137 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleOutside2PtConicalEffect); 1152 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleOutside2PtConicalEffect);
1138 1153
1139 /* 1154 /*
1140 * All Two point conical gradient test create functions may occasionally create edge case shaders 1155 * All Two point conical gradient test create functions may occasionally create edge case shaders
1141 */ 1156 */
1142 const GrFragmentProcessor* CircleOutside2PtConicalEffect::TestCreate(GrProcessor TestData* d) { 1157 GrFragmentProcessor* CircleOutside2PtConicalEffect::TestCreate(GrProcessorTestDa ta* d) {
1143 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; 1158 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()};
1144 SkScalar radius1 = d->fRandom->nextUScalar1() + 0.0001f; // make sure radius 1 != 0 1159 SkScalar radius1 = d->fRandom->nextUScalar1() + 0.0001f; // make sure radius 1 != 0
1145 SkPoint center2; 1160 SkPoint center2;
1146 SkScalar radius2; 1161 SkScalar radius2;
1147 SkScalar diffLen; 1162 SkScalar diffLen;
1148 do { 1163 do {
1149 center2.set(d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()); 1164 center2.set(d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1());
1150 // If the circles share a center than we can't be in the outside case 1165 // If the circles share a center than we can't be in the outside case
1151 } while (center1 == center2); 1166 } while (center1 == center2);
1152 SkPoint diff = center2 - center1; 1167 SkPoint diff = center2 - center1;
1153 diffLen = diff.length(); 1168 diffLen = diff.length();
1154 // Below makes sure that circle one is not contained within circle two 1169 // Below makes sure that circle one is not contained within circle two
1155 // and have radius2 >= radius to match sorting on cpu side 1170 // and have radius2 >= radius to match sorting on cpu side
1156 radius2 = radius1 + d->fRandom->nextRangeF(0.f, diffLen); 1171 radius2 = radius1 + d->fRandom->nextRangeF(0.f, diffLen);
1157 1172
1158 SkColor colors[kMaxRandomGradientColors]; 1173 SkColor colors[kMaxRandomGradientColors];
1159 SkScalar stopsArray[kMaxRandomGradientColors]; 1174 SkScalar stopsArray[kMaxRandomGradientColors];
1160 SkScalar* stops = stopsArray; 1175 SkScalar* stops = stopsArray;
1161 SkShader::TileMode tm; 1176 SkShader::TileMode tm;
1162 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm); 1177 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm);
1163 SkAutoTUnref<SkShader> shader(SkGradientShader::CreateTwoPointConical(center 1, radius1, 1178 SkAutoTUnref<SkShader> shader(SkGradientShader::CreateTwoPointConical(center 1, radius1,
1164 center 2, radius2, 1179 center 2, radius2,
1165 colors , stops, colorCount, 1180 colors , stops, colorCount,
1166 tm)); 1181 tm));
1167 const GrFragmentProcessor* fp = shader->asFragmentProcessor( 1182 SkPaint paint;
1168 d->fContext,GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality, 1183 GrColor paintColor;
1169 d->fProcDataManager); 1184 GrFragmentProcessor* fp;
1170 GrAlwaysAssert(fp); 1185 SkAssertResult(shader->asFragmentProcessor(d->fContext, paint,
1186 GrTest::TestMatrix(d->fRandom), n ullptr,
1187 &paintColor, d->fProcDataManager, &fp));
1171 return fp; 1188 return fp;
1172 } 1189 }
1173 1190
1174 GLCircleOutside2PtConicalEffect::GLCircleOutside2PtConicalEffect(const GrProcess or& processor) 1191 GLCircleOutside2PtConicalEffect::GLCircleOutside2PtConicalEffect(const GrProcess or& processor)
1175 : fVSVaryingName(nullptr) 1192 : fVSVaryingName(nullptr)
1176 , fFSVaryingName(nullptr) 1193 , fFSVaryingName(nullptr)
1177 , fCachedCenterX(SK_ScalarMax) 1194 , fCachedCenterX(SK_ScalarMax)
1178 , fCachedCenterY(SK_ScalarMax) 1195 , fCachedCenterY(SK_ScalarMax)
1179 , fCachedA(SK_ScalarMax) 1196 , fCachedA(SK_ScalarMax)
1180 , fCachedB(SK_ScalarMax) 1197 , fCachedB(SK_ScalarMax)
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
1318 } else if (type == kEdge_ConicalType) { 1335 } else if (type == kEdge_ConicalType) {
1319 set_matrix_edge_conical(shader, &matrix); 1336 set_matrix_edge_conical(shader, &matrix);
1320 return Edge2PtConicalEffect::Create(ctx, procDataManager, shader, matrix , tm); 1337 return Edge2PtConicalEffect::Create(ctx, procDataManager, shader, matrix , tm);
1321 } else { 1338 } else {
1322 return CircleOutside2PtConicalEffect::Create(ctx, procDataManager, shade r, matrix, tm, 1339 return CircleOutside2PtConicalEffect::Create(ctx, procDataManager, shade r, matrix, tm,
1323 info); 1340 info);
1324 } 1341 }
1325 } 1342 }
1326 1343
1327 #endif 1344 #endif
OLDNEW
« no previous file with comments | « src/effects/gradients/SkTwoPointConicalGradient.cpp ('k') | src/gpu/GrAAConvexPathRenderer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698