Reland "Revert "Make FP optimizations helpers use SkAlphaType not GrColorType""
This reverts commit 997b37fdb986b45ff9941319b0111b188e749cfc.
Reason for revert: May be blocking Chrome roll
Original change's description:
> Revert "Revert "Make FP optimizations helpers use SkAlphaType not GrColorType""
>
> This reverts commit 078e8faa26d8b1f33a92e57f587be011150d1776.
>
> Change-Id: I67b2970584db5a1afbf9928b77c5444947ef71a3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255897
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=egdaniel@google.com,bsalomon@google.com
Change-Id: I0d2754ac7f4672f0758e4d00cd9e06998637846a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256196
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/ops/GrShadowRRectOp.cpp b/src/gpu/ops/GrShadowRRectOp.cpp
index d899954..6eada79 100644
--- a/src/gpu/ops/GrShadowRRectOp.cpp
+++ b/src/gpu/ops/GrShadowRRectOp.cpp
@@ -719,42 +719,35 @@
#if GR_TEST_UTILS
GR_DRAW_OP_TEST_DEFINE(ShadowRRectOp) {
- // We may choose matrix and inset values that cause the factory to fail. We loop until we find
- // an acceptable combination.
+ // create a similarity matrix
+ SkScalar rotate = random->nextSScalar1() * 360.f;
+ SkScalar translateX = random->nextSScalar1() * 1000.f;
+ SkScalar translateY = random->nextSScalar1() * 1000.f;
+ SkScalar scale;
do {
- // create a similarity matrix
- SkScalar rotate = random->nextSScalar1() * 360.f;
- SkScalar translateX = random->nextSScalar1() * 1000.f;
- SkScalar translateY = random->nextSScalar1() * 1000.f;
- SkScalar scale = random->nextSScalar1() * 100.f;
- SkMatrix viewMatrix;
- viewMatrix.setRotate(rotate);
- viewMatrix.postTranslate(translateX, translateY);
- viewMatrix.postScale(scale, scale);
- SkScalar insetWidth = random->nextSScalar1() * 72.f;
- SkScalar blurWidth = random->nextSScalar1() * 72.f;
- bool isCircle = random->nextBool();
- // This op doesn't use a full GrPaint, just a color.
- GrColor color = paint.getColor4f().toBytes_RGBA();
- if (isCircle) {
- SkRect circle = GrTest::TestSquare(random);
- SkRRect rrect = SkRRect::MakeOval(circle);
- if (auto op = GrShadowRRectOp::Make(
- context, color, viewMatrix, rrect, blurWidth, insetWidth)) {
- return op;
- }
- } else {
- SkRRect rrect;
- do {
- // This may return a rrect with elliptical corners, which will cause an assert.
- rrect = GrTest::TestRRectSimple(random);
- } while (!SkRRectPriv::IsSimpleCircular(rrect));
- if (auto op = GrShadowRRectOp::Make(
- context, color, viewMatrix, rrect, blurWidth, insetWidth)) {
- return op;
- }
- }
- } while (true);
+ scale = random->nextSScalar1() * 100.f;
+ } while (scale == 0);
+ SkMatrix viewMatrix;
+ viewMatrix.setRotate(rotate);
+ viewMatrix.postTranslate(translateX, translateY);
+ viewMatrix.postScale(scale, scale);
+ SkScalar insetWidth = random->nextSScalar1() * 72.f;
+ SkScalar blurWidth = random->nextSScalar1() * 72.f;
+ bool isCircle = random->nextBool();
+ // This op doesn't use a full GrPaint, just a color.
+ GrColor color = paint.getColor4f().toBytes_RGBA();
+ if (isCircle) {
+ SkRect circle = GrTest::TestSquare(random);
+ SkRRect rrect = SkRRect::MakeOval(circle);
+ return GrShadowRRectOp::Make(context, color, viewMatrix, rrect, blurWidth, insetWidth);
+ } else {
+ SkRRect rrect;
+ do {
+ // This may return a rrect with elliptical corners, which we don't support.
+ rrect = GrTest::TestRRectSimple(random);
+ } while (!SkRRectPriv::IsSimpleCircular(rrect));
+ return GrShadowRRectOp::Make(context, color, viewMatrix, rrect, blurWidth, insetWidth);
+ }
}
#endif