Fetch random numbers for TestCreate in a predictable order.
We want our randomized tests to behave predictably when given a fixed
seed, but C++ is allowed to arbitrarily reorder our calls to
random->nextXxxx() when we call it more than once on the same line.
Each random-fetching call is now performed separately.
Change-Id: I8d9c0fcd7e5c931d3a963a2e401ea8b66535fc4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/402716
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
diff --git a/src/effects/imagefilters/SkDisplacementMapImageFilter.cpp b/src/effects/imagefilters/SkDisplacementMapImageFilter.cpp
index 807ccb7..cd8c838 100644
--- a/src/effects/imagefilters/SkDisplacementMapImageFilter.cpp
+++ b/src/effects/imagefilters/SkDisplacementMapImageFilter.cpp
@@ -511,8 +511,9 @@
static_cast<SkColorChannel>(d->fRandom->nextRangeU(1, kMaxComponent));
SkColorChannel yChannelSelector =
static_cast<SkColorChannel>(d->fRandom->nextRangeU(1, kMaxComponent));
- SkVector scale = SkVector::Make(d->fRandom->nextRangeScalar(0, 100.0f),
- d->fRandom->nextRangeScalar(0, 100.0f));
+ SkVector scale;
+ scale.fX = d->fRandom->nextRangeScalar(0, 100.0f);
+ scale.fY = d->fRandom->nextRangeScalar(0, 100.0f);
SkISize colorDimensions;
colorDimensions.fWidth = d->fRandom->nextRangeU(0, colorView.width());
colorDimensions.fHeight = d->fRandom->nextRangeU(0, colorView.height());
diff --git a/src/gpu/GrDefaultGeoProcFactory.cpp b/src/gpu/GrDefaultGeoProcFactory.cpp
index dc36fc1..e306ed4 100644
--- a/src/gpu/GrDefaultGeoProcFactory.cpp
+++ b/src/gpu/GrDefaultGeoProcFactory.cpp
@@ -275,13 +275,18 @@
flags |= kLocalCoordAttribute_GPFlag;
}
+ GrColor color = GrRandomColor(d->fRandom);
+ SkMatrix viewMtx = GrTest::TestMatrix(d->fRandom);
+ SkMatrix localMtx = GrTest::TestMatrix(d->fRandom);
+ bool readsLocalCoords = d->fRandom->nextBool();
+ uint8_t coverage = GrRandomCoverage(d->fRandom);
return DefaultGeoProc::Make(d->allocator(),
flags,
- SkPMColor4f::FromBytes_RGBA(GrRandomColor(d->fRandom)),
- GrTest::TestMatrix(d->fRandom),
- GrTest::TestMatrix(d->fRandom),
- d->fRandom->nextBool(),
- GrRandomCoverage(d->fRandom));
+ SkPMColor4f::FromBytes_RGBA(color),
+ viewMtx,
+ localMtx,
+ readsLocalCoords,
+ coverage);
}
#endif
diff --git a/src/gpu/effects/GrAARectEffect.fp b/src/gpu/effects/GrAARectEffect.fp
index 89a7244..0f4afab 100644
--- a/src/gpu/effects/GrAARectEffect.fp
+++ b/src/gpu/effects/GrAARectEffect.fp
@@ -53,10 +53,11 @@
}
@test(d) {
- SkRect rect = SkRect::MakeLTRB(d->fRandom->nextSScalar1(),
- d->fRandom->nextSScalar1(),
- d->fRandom->nextSScalar1(),
- d->fRandom->nextSScalar1());
+ SkScalar l = d->fRandom->nextSScalar1();
+ SkScalar t = d->fRandom->nextSScalar1();
+ SkScalar r = d->fRandom->nextSScalar1();
+ SkScalar b = d->fRandom->nextSScalar1();
+ SkRect rect = SkRect::MakeLTRB(l, t, r, b);
rect.sort();
GrClipEdgeType edgeType = static_cast<GrClipEdgeType>(
d->fRandom->nextULessThan(kGrClipEdgeTypeCnt));
diff --git a/src/gpu/effects/GrArithmeticProcessor.fp b/src/gpu/effects/GrArithmeticProcessor.fp
index 7b1f0cf..548f38a 100644
--- a/src/gpu/effects/GrArithmeticProcessor.fp
+++ b/src/gpu/effects/GrArithmeticProcessor.fp
@@ -37,8 +37,13 @@
}
@test(d) {
+ SkV4 k;
+ k.x = d->fRandom->nextF();
+ k.y = d->fRandom->nextF();
+ k.z = d->fRandom->nextF();
+ k.w = d->fRandom->nextF();
+ bool enforcePMColor = d->fRandom->nextBool();
return GrArithmeticProcessor::Make(
GrProcessorUnitTest::MakeChildFP(d), GrProcessorUnitTest::MakeChildFP(d),
- {d->fRandom->nextF(), d->fRandom->nextF(), d->fRandom->nextF(), d->fRandom->nextF()},
- d->fRandom->nextBool());
+ k, enforcePMColor);
}
diff --git a/src/gpu/effects/GrBezierEffect.cpp b/src/gpu/effects/GrBezierEffect.cpp
index fa4632b..3234146 100644
--- a/src/gpu/effects/GrBezierEffect.cpp
+++ b/src/gpu/effects/GrBezierEffect.cpp
@@ -207,10 +207,16 @@
#if GR_TEST_UTILS
GrGeometryProcessor* GrConicEffect::TestCreate(GrProcessorTestData* d) {
+ GrColor color = GrRandomColor(d->fRandom);
+ SkMatrix viewMatrix = GrTest::TestMatrix(d->fRandom);
+ SkMatrix localMatrix = GrTest::TestMatrix(d->fRandom);
+ bool usesLocalCoords = d->fRandom->nextBool();
return GrConicEffect::Make(d->allocator(),
- SkPMColor4f::FromBytes_RGBA(GrRandomColor(d->fRandom)),
- GrTest::TestMatrix(d->fRandom), *d->caps(),
- GrTest::TestMatrix(d->fRandom), d->fRandom->nextBool());
+ SkPMColor4f::FromBytes_RGBA(color),
+ viewMatrix,
+ *d->caps(),
+ localMatrix,
+ usesLocalCoords);
}
#endif
@@ -377,9 +383,15 @@
#if GR_TEST_UTILS
GrGeometryProcessor* GrQuadEffect::TestCreate(GrProcessorTestData* d) {
+ GrColor color = GrRandomColor(d->fRandom);
+ SkMatrix viewMatrix = GrTest::TestMatrix(d->fRandom);
+ SkMatrix localMatrix = GrTest::TestMatrix(d->fRandom);
+ bool usesLocalCoords = d->fRandom->nextBool();
return GrQuadEffect::Make(d->allocator(),
- SkPMColor4f::FromBytes_RGBA(GrRandomColor(d->fRandom)),
- GrTest::TestMatrix(d->fRandom), *d->caps(),
- GrTest::TestMatrix(d->fRandom), d->fRandom->nextBool());
+ SkPMColor4f::FromBytes_RGBA(color),
+ viewMatrix,
+ *d->caps(),
+ localMatrix,
+ usesLocalCoords);
}
#endif
diff --git a/src/gpu/effects/GrBitmapTextGeoProc.cpp b/src/gpu/effects/GrBitmapTextGeoProc.cpp
index 9e1ba8b..470db88 100644
--- a/src/gpu/effects/GrBitmapTextGeoProc.cpp
+++ b/src/gpu/effects/GrBitmapTextGeoProc.cpp
@@ -231,10 +231,14 @@
break;
}
+ GrColor color = GrRandomColor(d->fRandom);
+ bool wideColor = d->fRandom->nextBool();
+ SkMatrix localMatrix = GrTest::TestMatrix(d->fRandom);
+ bool usesW = d->fRandom->nextBool();
return GrBitmapTextGeoProc::Make(d->allocator(), *d->caps()->shaderCaps(),
- SkPMColor4f::FromBytes_RGBA(GrRandomColor(d->fRandom)),
- d->fRandom->nextBool(),
+ SkPMColor4f::FromBytes_RGBA(color),
+ wideColor,
&view, 1, samplerState, format,
- GrTest::TestMatrix(d->fRandom), d->fRandom->nextBool());
+ localMatrix, usesW);
}
#endif
diff --git a/src/gpu/effects/GrDistanceFieldGeoProc.cpp b/src/gpu/effects/GrDistanceFieldGeoProc.cpp
index 5cbdce7..6dd6780 100644
--- a/src/gpu/effects/GrDistanceFieldGeoProc.cpp
+++ b/src/gpu/effects/GrDistanceFieldGeoProc.cpp
@@ -579,10 +579,11 @@
if (flags & kSimilarity_DistanceFieldEffectFlag) {
flags |= d->fRandom->nextBool() ? kScaleOnly_DistanceFieldEffectFlag : 0;
}
-
+ SkMatrix localMatrix = GrTest::TestMatrix(d->fRandom);
+ bool wideColor = d->fRandom->nextBool();
return GrDistanceFieldPathGeoProc::Make(d->allocator(), *d->caps()->shaderCaps(),
- GrTest::TestMatrix(d->fRandom),
- d->fRandom->nextBool(),
+ localMatrix,
+ wideColor,
&view, 1,
samplerState,
flags);
diff --git a/src/gpu/effects/generated/GrAARectEffect.cpp b/src/gpu/effects/generated/GrAARectEffect.cpp
index d8782d2..52894bd 100644
--- a/src/gpu/effects/generated/GrAARectEffect.cpp
+++ b/src/gpu/effects/generated/GrAARectEffect.cpp
@@ -125,10 +125,11 @@
GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrAARectEffect);
#if GR_TEST_UTILS
std::unique_ptr<GrFragmentProcessor> GrAARectEffect::TestCreate(GrProcessorTestData* d) {
- SkRect rect = SkRect::MakeLTRB(d->fRandom->nextSScalar1(),
- d->fRandom->nextSScalar1(),
- d->fRandom->nextSScalar1(),
- d->fRandom->nextSScalar1());
+ SkScalar l = d->fRandom->nextSScalar1();
+ SkScalar t = d->fRandom->nextSScalar1();
+ SkScalar r = d->fRandom->nextSScalar1();
+ SkScalar b = d->fRandom->nextSScalar1();
+ SkRect rect = SkRect::MakeLTRB(l, t, r, b);
rect.sort();
GrClipEdgeType edgeType =
static_cast<GrClipEdgeType>(d->fRandom->nextULessThan(kGrClipEdgeTypeCnt));
diff --git a/src/gpu/effects/generated/GrArithmeticProcessor.cpp b/src/gpu/effects/generated/GrArithmeticProcessor.cpp
index dd50569..1d95a09 100644
--- a/src/gpu/effects/generated/GrArithmeticProcessor.cpp
+++ b/src/gpu/effects/generated/GrArithmeticProcessor.cpp
@@ -95,10 +95,15 @@
GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrArithmeticProcessor);
#if GR_TEST_UTILS
std::unique_ptr<GrFragmentProcessor> GrArithmeticProcessor::TestCreate(GrProcessorTestData* d) {
- return GrArithmeticProcessor::Make(
- GrProcessorUnitTest::MakeChildFP(d),
- GrProcessorUnitTest::MakeChildFP(d),
- {d->fRandom->nextF(), d->fRandom->nextF(), d->fRandom->nextF(), d->fRandom->nextF()},
- d->fRandom->nextBool());
+ SkV4 k;
+ k.x = d->fRandom->nextF();
+ k.y = d->fRandom->nextF();
+ k.z = d->fRandom->nextF();
+ k.w = d->fRandom->nextF();
+ bool enforcePMColor = d->fRandom->nextBool();
+ return GrArithmeticProcessor::Make(GrProcessorUnitTest::MakeChildFP(d),
+ GrProcessorUnitTest::MakeChildFP(d),
+ k,
+ enforcePMColor);
}
#endif
diff --git a/src/gpu/gradients/GrLinearGradientLayout.fp b/src/gpu/gradients/GrLinearGradientLayout.fp
index 30d55ba..e512c2a 100644
--- a/src/gpu/gradients/GrLinearGradientLayout.fp
+++ b/src/gpu/gradients/GrLinearGradientLayout.fp
@@ -51,10 +51,11 @@
@test(d) {
SkScalar scale = GrGradientShader::RandomParams::kGradientScale;
- SkPoint points[] = {{d->fRandom->nextRangeScalar(0.0f, scale),
- d->fRandom->nextRangeScalar(0.0f, scale)},
- {d->fRandom->nextRangeScalar(0.0f, scale),
- d->fRandom->nextRangeScalar(0.0f, scale)}};
+ SkPoint points[2];
+ points[0].fX = d->fRandom->nextRangeScalar(0.0f, scale);
+ points[0].fY = d->fRandom->nextRangeScalar(0.0f, scale);
+ points[1].fX = d->fRandom->nextRangeScalar(0.0f, scale);
+ points[1].fY = d->fRandom->nextRangeScalar(0.0f, scale);
GrGradientShader::RandomParams params(d->fRandom);
auto shader = params.fUseColors4f ?
diff --git a/src/gpu/gradients/GrRadialGradientLayout.fp b/src/gpu/gradients/GrRadialGradientLayout.fp
index dab821c..6982df5 100644
--- a/src/gpu/gradients/GrRadialGradientLayout.fp
+++ b/src/gpu/gradients/GrRadialGradientLayout.fp
@@ -48,8 +48,9 @@
GrTest::TestAsFPArgs asFPArgs(d);
do {
GrGradientShader::RandomParams params(d->fRandom);
- SkPoint center = {d->fRandom->nextRangeScalar(0.0f, scale),
- d->fRandom->nextRangeScalar(0.0f, scale)};
+ SkPoint center;
+ center.fX = d->fRandom->nextRangeScalar(0.0f, scale);
+ center.fY = d->fRandom->nextRangeScalar(0.0f, scale);
SkScalar radius = d->fRandom->nextRangeScalar(0.0f, scale);
sk_sp<SkShader> shader = params.fUseColors4f
? SkGradientShader::MakeRadial(center, radius, params.fColors4f,
diff --git a/src/gpu/gradients/GrSweepGradientLayout.fp b/src/gpu/gradients/GrSweepGradientLayout.fp
index 6c69144..1e586a8 100644
--- a/src/gpu/gradients/GrSweepGradientLayout.fp
+++ b/src/gpu/gradients/GrSweepGradientLayout.fp
@@ -59,8 +59,9 @@
@test(d) {
SkScalar scale = GrGradientShader::RandomParams::kGradientScale;
- SkPoint center = {d->fRandom->nextRangeScalar(0.0f, scale),
- d->fRandom->nextRangeScalar(0.0f, scale)};
+ SkPoint center;
+ center.fX = d->fRandom->nextRangeScalar(0.0f, scale);
+ center.fY = d->fRandom->nextRangeScalar(0.0f, scale);
GrGradientShader::RandomParams params(d->fRandom);
auto shader = params.fUseColors4f ?
diff --git a/src/gpu/gradients/GrTwoPointConicalGradientLayout.fp b/src/gpu/gradients/GrTwoPointConicalGradientLayout.fp
index ca6b0a7..f98d4e2 100644
--- a/src/gpu/gradients/GrTwoPointConicalGradientLayout.fp
+++ b/src/gpu/gradients/GrTwoPointConicalGradientLayout.fp
@@ -217,10 +217,11 @@
SkScalar scale = GrGradientShader::RandomParams::kGradientScale;
SkScalar offset = scale / 32.0f;
- SkPoint center1 = {d->fRandom->nextRangeScalar(0.0f, scale),
- d->fRandom->nextRangeScalar(0.0f, scale)};
- SkPoint center2 = {d->fRandom->nextRangeScalar(0.0f, scale),
- d->fRandom->nextRangeScalar(0.0f, scale)};
+ SkPoint center1, center2;
+ center1.fX = d->fRandom->nextRangeScalar(0.0f, scale);
+ center1.fY = d->fRandom->nextRangeScalar(0.0f, scale);
+ center2.fX = d->fRandom->nextRangeScalar(0.0f, scale);
+ center2.fY = d->fRandom->nextRangeScalar(0.0f, scale);
SkScalar radius1 = d->fRandom->nextRangeScalar(0.0f, scale);
SkScalar radius2 = d->fRandom->nextRangeScalar(0.0f, scale);
diff --git a/src/gpu/gradients/generated/GrLinearGradientLayout.cpp b/src/gpu/gradients/generated/GrLinearGradientLayout.cpp
index 98e576f..92106d2 100644
--- a/src/gpu/gradients/generated/GrLinearGradientLayout.cpp
+++ b/src/gpu/gradients/generated/GrLinearGradientLayout.cpp
@@ -59,9 +59,11 @@
#if GR_TEST_UTILS
std::unique_ptr<GrFragmentProcessor> GrLinearGradientLayout::TestCreate(GrProcessorTestData* d) {
SkScalar scale = GrGradientShader::RandomParams::kGradientScale;
- SkPoint points[] = {
- {d->fRandom->nextRangeScalar(0.0f, scale), d->fRandom->nextRangeScalar(0.0f, scale)},
- {d->fRandom->nextRangeScalar(0.0f, scale), d->fRandom->nextRangeScalar(0.0f, scale)}};
+ SkPoint points[2];
+ points[0].fX = d->fRandom->nextRangeScalar(0.0f, scale);
+ points[0].fY = d->fRandom->nextRangeScalar(0.0f, scale);
+ points[1].fX = d->fRandom->nextRangeScalar(0.0f, scale);
+ points[1].fY = d->fRandom->nextRangeScalar(0.0f, scale);
GrGradientShader::RandomParams params(d->fRandom);
auto shader = params.fUseColors4f ? SkGradientShader::MakeLinear(points,
diff --git a/src/gpu/gradients/generated/GrRadialGradientLayout.cpp b/src/gpu/gradients/generated/GrRadialGradientLayout.cpp
index be83898..1db5b06 100644
--- a/src/gpu/gradients/generated/GrRadialGradientLayout.cpp
+++ b/src/gpu/gradients/generated/GrRadialGradientLayout.cpp
@@ -63,8 +63,9 @@
GrTest::TestAsFPArgs asFPArgs(d);
do {
GrGradientShader::RandomParams params(d->fRandom);
- SkPoint center = {d->fRandom->nextRangeScalar(0.0f, scale),
- d->fRandom->nextRangeScalar(0.0f, scale)};
+ SkPoint center;
+ center.fX = d->fRandom->nextRangeScalar(0.0f, scale);
+ center.fY = d->fRandom->nextRangeScalar(0.0f, scale);
SkScalar radius = d->fRandom->nextRangeScalar(0.0f, scale);
sk_sp<SkShader> shader = params.fUseColors4f
? SkGradientShader::MakeRadial(center,
diff --git a/src/gpu/gradients/generated/GrSweepGradientLayout.cpp b/src/gpu/gradients/generated/GrSweepGradientLayout.cpp
index c8008d6..0641c59 100644
--- a/src/gpu/gradients/generated/GrSweepGradientLayout.cpp
+++ b/src/gpu/gradients/generated/GrSweepGradientLayout.cpp
@@ -99,8 +99,9 @@
#if GR_TEST_UTILS
std::unique_ptr<GrFragmentProcessor> GrSweepGradientLayout::TestCreate(GrProcessorTestData* d) {
SkScalar scale = GrGradientShader::RandomParams::kGradientScale;
- SkPoint center = {d->fRandom->nextRangeScalar(0.0f, scale),
- d->fRandom->nextRangeScalar(0.0f, scale)};
+ SkPoint center;
+ center.fX = d->fRandom->nextRangeScalar(0.0f, scale);
+ center.fY = d->fRandom->nextRangeScalar(0.0f, scale);
GrGradientShader::RandomParams params(d->fRandom);
auto shader = params.fUseColors4f ? SkGradientShader::MakeSweep(center.fX,
diff --git a/src/gpu/gradients/generated/GrTwoPointConicalGradientLayout.cpp b/src/gpu/gradients/generated/GrTwoPointConicalGradientLayout.cpp
index 745191d..e925eff 100644
--- a/src/gpu/gradients/generated/GrTwoPointConicalGradientLayout.cpp
+++ b/src/gpu/gradients/generated/GrTwoPointConicalGradientLayout.cpp
@@ -223,10 +223,11 @@
SkScalar scale = GrGradientShader::RandomParams::kGradientScale;
SkScalar offset = scale / 32.0f;
- SkPoint center1 = {d->fRandom->nextRangeScalar(0.0f, scale),
- d->fRandom->nextRangeScalar(0.0f, scale)};
- SkPoint center2 = {d->fRandom->nextRangeScalar(0.0f, scale),
- d->fRandom->nextRangeScalar(0.0f, scale)};
+ SkPoint center1, center2;
+ center1.fX = d->fRandom->nextRangeScalar(0.0f, scale);
+ center1.fY = d->fRandom->nextRangeScalar(0.0f, scale);
+ center2.fX = d->fRandom->nextRangeScalar(0.0f, scale);
+ center2.fY = d->fRandom->nextRangeScalar(0.0f, scale);
SkScalar radius1 = d->fRandom->nextRangeScalar(0.0f, scale);
SkScalar radius2 = d->fRandom->nextRangeScalar(0.0f, scale);
diff --git a/src/gpu/ops/GrAAConvexPathRenderer.cpp b/src/gpu/ops/GrAAConvexPathRenderer.cpp
index b69fb42..62781fd 100644
--- a/src/gpu/ops/GrAAConvexPathRenderer.cpp
+++ b/src/gpu/ops/GrAAConvexPathRenderer.cpp
@@ -678,10 +678,12 @@
#if GR_TEST_UTILS
GrGeometryProcessor* QuadEdgeEffect::TestCreate(GrProcessorTestData* d) {
+ SkMatrix localMatrix = GrTest::TestMatrix(d->fRandom);
+ bool usesLocalCoords = d->fRandom->nextBool();
+ bool wideColor = d->fRandom->nextBool();
// Doesn't work without derivative instructions.
return d->caps()->shaderCaps()->shaderDerivativeSupport()
- ? QuadEdgeEffect::Make(d->allocator(), GrTest::TestMatrix(d->fRandom),
- d->fRandom->nextBool(), d->fRandom->nextBool())
+ ? QuadEdgeEffect::Make(d->allocator(), localMatrix, usesLocalCoords, wideColor)
: nullptr;
}
#endif
diff --git a/src/gpu/ops/GrDashOp.cpp b/src/gpu/ops/GrDashOp.cpp
index e7eaad8..140ead2 100644
--- a/src/gpu/ops/GrDashOp.cpp
+++ b/src/gpu/ops/GrDashOp.cpp
@@ -1009,9 +1009,12 @@
#if GR_TEST_UTILS
GrGeometryProcessor* DashingCircleEffect::TestCreate(GrProcessorTestData* d) {
AAMode aaMode = static_cast<AAMode>(d->fRandom->nextULessThan(GrDashOp::kAAModeCnt));
+ GrColor color = GrRandomColor(d->fRandom);
+ SkMatrix matrix = GrTest::TestMatrix(d->fRandom);
return DashingCircleEffect::Make(d->allocator(),
- SkPMColor4f::FromBytes_RGBA(GrRandomColor(d->fRandom)),
- aaMode, GrTest::TestMatrix(d->fRandom),
+ SkPMColor4f::FromBytes_RGBA(color),
+ aaMode,
+ matrix,
d->fRandom->nextBool());
}
#endif
@@ -1245,9 +1248,12 @@
#if GR_TEST_UTILS
GrGeometryProcessor* DashingLineEffect::TestCreate(GrProcessorTestData* d) {
AAMode aaMode = static_cast<AAMode>(d->fRandom->nextULessThan(GrDashOp::kAAModeCnt));
+ GrColor color = GrRandomColor(d->fRandom);
+ SkMatrix matrix = GrTest::TestMatrix(d->fRandom);
return DashingLineEffect::Make(d->allocator(),
- SkPMColor4f::FromBytes_RGBA(GrRandomColor(d->fRandom)),
- aaMode, GrTest::TestMatrix(d->fRandom),
+ SkPMColor4f::FromBytes_RGBA(color),
+ aaMode,
+ matrix,
d->fRandom->nextBool());
}
diff --git a/src/gpu/ops/GrOvalOpFactory.cpp b/src/gpu/ops/GrOvalOpFactory.cpp
index e5ab493..0d0b3e8 100644
--- a/src/gpu/ops/GrOvalOpFactory.cpp
+++ b/src/gpu/ops/GrOvalOpFactory.cpp
@@ -721,9 +721,11 @@
#if GR_TEST_UTILS
GrGeometryProcessor* EllipseGeometryProcessor::TestCreate(GrProcessorTestData* d) {
- return EllipseGeometryProcessor::Make(d->allocator(), d->fRandom->nextBool(),
- d->fRandom->nextBool(), d->fRandom->nextBool(),
- GrTest::TestMatrix(d->fRandom));
+ bool stroke = d->fRandom->nextBool();
+ bool wideColor = d->fRandom->nextBool();
+ bool useScale = d->fRandom->nextBool();
+ SkMatrix matrix = GrTest::TestMatrix(d->fRandom);
+ return EllipseGeometryProcessor::Make(d->allocator(), stroke, wideColor, useScale, matrix);
}
#endif
@@ -920,9 +922,11 @@
#if GR_TEST_UTILS
GrGeometryProcessor* DIEllipseGeometryProcessor::TestCreate(GrProcessorTestData* d) {
- return DIEllipseGeometryProcessor::Make(d->allocator(), d->fRandom->nextBool(),
- d->fRandom->nextBool(), GrTest::TestMatrix(d->fRandom),
- (DIEllipseStyle)(d->fRandom->nextRangeU(0, 2)));
+ bool wideColor = d->fRandom->nextBool();
+ bool useScale = d->fRandom->nextBool();
+ SkMatrix matrix = GrTest::TestMatrix(d->fRandom);
+ auto style = (DIEllipseStyle)(d->fRandom->nextRangeU(0, 2));
+ return DIEllipseGeometryProcessor::Make(d->allocator(), wideColor, useScale, matrix, style);
}
#endif
diff --git a/src/shaders/SkPerlinNoiseShader.cpp b/src/shaders/SkPerlinNoiseShader.cpp
index 83430c7..eddbabc 100644
--- a/src/shaders/SkPerlinNoiseShader.cpp
+++ b/src/shaders/SkPerlinNoiseShader.cpp
@@ -689,12 +689,11 @@
int numOctaves = d->fRandom->nextRangeU(2, 10);
bool stitchTiles = d->fRandom->nextBool();
SkScalar seed = SkIntToScalar(d->fRandom->nextU());
- SkISize tileSize = SkISize::Make(d->fRandom->nextRangeU(4, 4096),
- d->fRandom->nextRangeU(4, 4096));
- SkScalar baseFrequencyX = d->fRandom->nextRangeScalar(0.01f,
- 0.99f);
- SkScalar baseFrequencyY = d->fRandom->nextRangeScalar(0.01f,
- 0.99f);
+ SkISize tileSize;
+ tileSize.fWidth = d->fRandom->nextRangeU(4, 4096);
+ tileSize.fHeight = d->fRandom->nextRangeU(4, 4096);
+ SkScalar baseFrequencyX = d->fRandom->nextRangeScalar(0.01f, 0.99f);
+ SkScalar baseFrequencyY = d->fRandom->nextRangeScalar(0.01f, 0.99f);
sk_sp<SkShader> shader(d->fRandom->nextBool() ?
SkPerlinNoiseShader::MakeFractalNoise(baseFrequencyX, baseFrequencyY, numOctaves, seed,