| Index: src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp
|
| diff --git a/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp b/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp
|
| index 07722e972477a9093809a73a97ea80f1a361f6f6..38b266d67ae6762ecc2c7fe847a488922bfed72d 100644
|
| --- a/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp
|
| +++ b/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp
|
| @@ -187,16 +187,13 @@ GR_DEFINE_FRAGMENT_PROCESSOR_TEST(Edge2PtConicalEffect);
|
| /*
|
| * All Two point conical gradient test create functions may occasionally create edge case shaders
|
| */
|
| -GrFragmentProcessor* Edge2PtConicalEffect::TestCreate(SkRandom* random,
|
| - GrContext* context,
|
| - const GrCaps&,
|
| - GrTexture**) {
|
| - SkPoint center1 = {random->nextUScalar1(), random->nextUScalar1()};
|
| - SkScalar radius1 = random->nextUScalar1();
|
| +GrFragmentProcessor* Edge2PtConicalEffect::TestCreate(GrProcessorTestData* d) {
|
| + SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()};
|
| + SkScalar radius1 = d->fRandom->nextUScalar1();
|
| SkPoint center2;
|
| SkScalar radius2;
|
| do {
|
| - center2.set(random->nextUScalar1(), random->nextUScalar1());
|
| + center2.set(d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1());
|
| // If the circles are identical the factory will give us an empty shader.
|
| // This will happen if we pick identical centers
|
| } while (center1 == center2);
|
| @@ -211,7 +208,7 @@ GrFragmentProcessor* Edge2PtConicalEffect::TestCreate(SkRandom* random,
|
| SkScalar stopsArray[kMaxRandomGradientColors];
|
| SkScalar* stops = stopsArray;
|
| SkShader::TileMode tm;
|
| - int colorCount = RandomGradientParams(random, colors, &stops, &tm);
|
| + int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm);
|
| SkAutoTUnref<SkShader> shader(SkGradientShader::CreateTwoPointConical(center1, radius1,
|
| center2, radius2,
|
| colors, stops, colorCount,
|
| @@ -219,10 +216,9 @@ GrFragmentProcessor* Edge2PtConicalEffect::TestCreate(SkRandom* random,
|
| SkPaint paint;
|
| GrFragmentProcessor* fp;
|
| GrColor paintColor;
|
| - GrPaint grPaint;
|
| - SkAssertResult(shader->asFragmentProcessor(context, paint,
|
| - GrTest::TestMatrix(random), NULL,
|
| - &paintColor, grPaint.getShaderDataManager(), &fp));
|
| + SkAssertResult(shader->asFragmentProcessor(d->fContext, paint,
|
| + GrTest::TestMatrix(d->fRandom), NULL,
|
| + &paintColor, d->fShaderDataManager, &fp));
|
| return fp;
|
| }
|
|
|
| @@ -482,28 +478,25 @@ GR_DEFINE_FRAGMENT_PROCESSOR_TEST(FocalOutside2PtConicalEffect);
|
| /*
|
| * All Two point conical gradient test create functions may occasionally create edge case shaders
|
| */
|
| -GrFragmentProcessor* FocalOutside2PtConicalEffect::TestCreate(SkRandom* random,
|
| - GrContext* context,
|
| - const GrCaps&,
|
| - GrTexture**) {
|
| - SkPoint center1 = {random->nextUScalar1(), random->nextUScalar1()};
|
| +GrFragmentProcessor* FocalOutside2PtConicalEffect::TestCreate(GrProcessorTestData* d) {
|
| + SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()};
|
| SkScalar radius1 = 0.f;
|
| SkPoint center2;
|
| SkScalar radius2;
|
| do {
|
| - center2.set(random->nextUScalar1(), random->nextUScalar1());
|
| + center2.set(d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1());
|
| // Need to make sure the centers are not the same or else focal point will be inside
|
| } while (center1 == center2);
|
| SkPoint diff = center2 - center1;
|
| SkScalar diffLen = diff.length();
|
| // Below makes sure that the focal point is not contained within circle two
|
| - radius2 = random->nextRangeF(0.f, diffLen);
|
| + radius2 = d->fRandom->nextRangeF(0.f, diffLen);
|
|
|
| SkColor colors[kMaxRandomGradientColors];
|
| SkScalar stopsArray[kMaxRandomGradientColors];
|
| SkScalar* stops = stopsArray;
|
| SkShader::TileMode tm;
|
| - int colorCount = RandomGradientParams(random, colors, &stops, &tm);
|
| + int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm);
|
| SkAutoTUnref<SkShader> shader(SkGradientShader::CreateTwoPointConical(center1, radius1,
|
| center2, radius2,
|
| colors, stops, colorCount,
|
| @@ -512,9 +505,9 @@ GrFragmentProcessor* FocalOutside2PtConicalEffect::TestCreate(SkRandom* random,
|
| GrFragmentProcessor* effect;
|
| GrColor paintColor;
|
| GrPaint grPaint;
|
| - SkAssertResult(shader->asFragmentProcessor(context, paint,
|
| - GrTest::TestMatrix(random), NULL,
|
| - &paintColor, grPaint.getShaderDataManager(),
|
| + SkAssertResult(shader->asFragmentProcessor(d->fContext, paint,
|
| + GrTest::TestMatrix(d->fRandom), NULL,
|
| + &paintColor, d->fShaderDataManager,
|
| &effect));
|
| return effect;
|
| }
|
| @@ -705,19 +698,16 @@ GR_DEFINE_FRAGMENT_PROCESSOR_TEST(FocalInside2PtConicalEffect);
|
| /*
|
| * All Two point conical gradient test create functions may occasionally create edge case shaders
|
| */
|
| -GrFragmentProcessor* FocalInside2PtConicalEffect::TestCreate(SkRandom* random,
|
| - GrContext* context,
|
| - const GrCaps&,
|
| - GrTexture**) {
|
| - SkPoint center1 = {random->nextUScalar1(), random->nextUScalar1()};
|
| +GrFragmentProcessor* FocalInside2PtConicalEffect::TestCreate(GrProcessorTestData* d) {
|
| + SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()};
|
| SkScalar radius1 = 0.f;
|
| SkPoint center2;
|
| SkScalar radius2;
|
| do {
|
| - center2.set(random->nextUScalar1(), random->nextUScalar1());
|
| + center2.set(d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1());
|
| // Below makes sure radius2 is larger enouch such that the focal point
|
| // is inside the end circle
|
| - SkScalar increase = random->nextUScalar1();
|
| + SkScalar increase = d->fRandom->nextUScalar1();
|
| SkPoint diff = center2 - center1;
|
| SkScalar diffLen = diff.length();
|
| radius2 = diffLen + increase;
|
| @@ -728,7 +718,7 @@ GrFragmentProcessor* FocalInside2PtConicalEffect::TestCreate(SkRandom* random,
|
| SkScalar stopsArray[kMaxRandomGradientColors];
|
| SkScalar* stops = stopsArray;
|
| SkShader::TileMode tm;
|
| - int colorCount = RandomGradientParams(random, colors, &stops, &tm);
|
| + int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm);
|
| SkAutoTUnref<SkShader> shader(SkGradientShader::CreateTwoPointConical(center1, radius1,
|
| center2, radius2,
|
| colors, stops, colorCount,
|
| @@ -736,10 +726,9 @@ GrFragmentProcessor* FocalInside2PtConicalEffect::TestCreate(SkRandom* random,
|
| SkPaint paint;
|
| GrColor paintColor;
|
| GrFragmentProcessor* fp;
|
| - GrPaint grPaint;
|
| - SkAssertResult(shader->asFragmentProcessor(context, paint,
|
| - GrTest::TestMatrix(random), NULL,
|
| - &paintColor, grPaint.getShaderDataManager(), &fp));
|
| + SkAssertResult(shader->asFragmentProcessor(d->fContext, paint,
|
| + GrTest::TestMatrix(d->fRandom), NULL,
|
| + &paintColor, d->fShaderDataManager, &fp));
|
| return fp;
|
| }
|
|
|
| @@ -965,18 +954,16 @@ GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleInside2PtConicalEffect);
|
| /*
|
| * All Two point conical gradient test create functions may occasionally create edge case shaders
|
| */
|
| -GrFragmentProcessor* CircleInside2PtConicalEffect::TestCreate(SkRandom* random,
|
| - GrContext* context,
|
| - const GrCaps&,
|
| - GrTexture**) {
|
| - SkPoint center1 = {random->nextUScalar1(), random->nextUScalar1()};
|
| - SkScalar radius1 = random->nextUScalar1() + 0.0001f; // make sure radius1 != 0
|
| +GrFragmentProcessor*
|
| +CircleInside2PtConicalEffect::TestCreate(GrProcessorTestData* d) {
|
| + SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()};
|
| + SkScalar radius1 = d->fRandom->nextUScalar1() + 0.0001f; // make sure radius1 != 0
|
| SkPoint center2;
|
| SkScalar radius2;
|
| do {
|
| - center2.set(random->nextUScalar1(), random->nextUScalar1());
|
| + center2.set(d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1());
|
| // Below makes sure that circle one is contained within circle two
|
| - SkScalar increase = random->nextUScalar1();
|
| + SkScalar increase = d->fRandom->nextUScalar1();
|
| SkPoint diff = center2 - center1;
|
| SkScalar diffLen = diff.length();
|
| radius2 = radius1 + diffLen + increase;
|
| @@ -987,7 +974,7 @@ GrFragmentProcessor* CircleInside2PtConicalEffect::TestCreate(SkRandom* random,
|
| SkScalar stopsArray[kMaxRandomGradientColors];
|
| SkScalar* stops = stopsArray;
|
| SkShader::TileMode tm;
|
| - int colorCount = RandomGradientParams(random, colors, &stops, &tm);
|
| + int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm);
|
| SkAutoTUnref<SkShader> shader(SkGradientShader::CreateTwoPointConical(center1, radius1,
|
| center2, radius2,
|
| colors, stops, colorCount,
|
| @@ -995,10 +982,9 @@ GrFragmentProcessor* CircleInside2PtConicalEffect::TestCreate(SkRandom* random,
|
| SkPaint paint;
|
| GrColor paintColor;
|
| GrFragmentProcessor* fp;
|
| - GrPaint grPaint;
|
| - SkAssertResult(shader->asFragmentProcessor(context, paint,
|
| - GrTest::TestMatrix(random), NULL,
|
| - &paintColor, grPaint.getShaderDataManager(), &fp));
|
| + SkAssertResult(shader->asFragmentProcessor(d->fContext, paint,
|
| + GrTest::TestMatrix(d->fRandom), NULL,
|
| + &paintColor, d->fShaderDataManager, &fp));
|
| return fp;
|
| }
|
|
|
| @@ -1208,30 +1194,27 @@ GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleOutside2PtConicalEffect);
|
| /*
|
| * All Two point conical gradient test create functions may occasionally create edge case shaders
|
| */
|
| -GrFragmentProcessor* CircleOutside2PtConicalEffect::TestCreate(SkRandom* random,
|
| - GrContext* context,
|
| - const GrCaps&,
|
| - GrTexture**) {
|
| - SkPoint center1 = {random->nextUScalar1(), random->nextUScalar1()};
|
| - SkScalar radius1 = random->nextUScalar1() + 0.0001f; // make sure radius1 != 0
|
| +GrFragmentProcessor* CircleOutside2PtConicalEffect::TestCreate(GrProcessorTestData* d) {
|
| + SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()};
|
| + SkScalar radius1 = d->fRandom->nextUScalar1() + 0.0001f; // make sure radius1 != 0
|
| SkPoint center2;
|
| SkScalar radius2;
|
| SkScalar diffLen;
|
| do {
|
| - center2.set(random->nextUScalar1(), random->nextUScalar1());
|
| + center2.set(d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1());
|
| // If the circles share a center than we can't be in the outside case
|
| } while (center1 == center2);
|
| SkPoint diff = center2 - center1;
|
| diffLen = diff.length();
|
| // Below makes sure that circle one is not contained within circle two
|
| // and have radius2 >= radius to match sorting on cpu side
|
| - radius2 = radius1 + random->nextRangeF(0.f, diffLen);
|
| + radius2 = radius1 + d->fRandom->nextRangeF(0.f, diffLen);
|
|
|
| SkColor colors[kMaxRandomGradientColors];
|
| SkScalar stopsArray[kMaxRandomGradientColors];
|
| SkScalar* stops = stopsArray;
|
| SkShader::TileMode tm;
|
| - int colorCount = RandomGradientParams(random, colors, &stops, &tm);
|
| + int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm);
|
| SkAutoTUnref<SkShader> shader(SkGradientShader::CreateTwoPointConical(center1, radius1,
|
| center2, radius2,
|
| colors, stops, colorCount,
|
| @@ -1239,10 +1222,9 @@ GrFragmentProcessor* CircleOutside2PtConicalEffect::TestCreate(SkRandom* random,
|
| SkPaint paint;
|
| GrColor paintColor;
|
| GrFragmentProcessor* fp;
|
| - GrPaint grPaint;
|
| - SkAssertResult(shader->asFragmentProcessor(context, paint,
|
| - GrTest::TestMatrix(random), NULL,
|
| - &paintColor, grPaint.getShaderDataManager(), &fp));
|
| + SkAssertResult(shader->asFragmentProcessor(d->fContext, paint,
|
| + GrTest::TestMatrix(d->fRandom), NULL,
|
| + &paintColor, d->fShaderDataManager, &fp));
|
| return fp;
|
| }
|
|
|
|
|