diff --git a/display_list/dl_builder.cc b/display_list/dl_builder.cc index 02cd4fc1fbaf2..f417fa1bcb65e 100644 --- a/display_list/dl_builder.cc +++ b/display_list/dl_builder.cc @@ -707,8 +707,7 @@ void DisplayListBuilder::SaveLayer(const SkRect* bounds, } void DisplayListBuilder::Translate(SkScalar tx, SkScalar ty) { - if (SkScalarIsFinite(tx) && SkScalarIsFinite(ty) && - (tx != 0.0 || ty != 0.0)) { + if (std::isfinite(tx) && std::isfinite(ty) && (tx != 0.0 || ty != 0.0)) { checkForDeferredSave(); Push(0, tx, ty); tracker_.translate(tx, ty); @@ -718,8 +717,7 @@ void DisplayListBuilder::Translate(SkScalar tx, SkScalar ty) { } } void DisplayListBuilder::Scale(SkScalar sx, SkScalar sy) { - if (SkScalarIsFinite(sx) && SkScalarIsFinite(sy) && - (sx != 1.0 || sy != 1.0)) { + if (std::isfinite(sx) && std::isfinite(sy) && (sx != 1.0 || sy != 1.0)) { checkForDeferredSave(); Push(0, sx, sy); tracker_.scale(sx, sy); @@ -739,8 +737,7 @@ void DisplayListBuilder::Rotate(SkScalar degrees) { } } void DisplayListBuilder::Skew(SkScalar sx, SkScalar sy) { - if (SkScalarIsFinite(sx) && SkScalarIsFinite(sy) && - (sx != 0.0 || sy != 0.0)) { + if (std::isfinite(sx) && std::isfinite(sy) && (sx != 0.0 || sy != 0.0)) { checkForDeferredSave(); Push(0, sx, sy); tracker_.skew(sx, sy); @@ -756,9 +753,9 @@ void DisplayListBuilder::Skew(SkScalar sx, SkScalar sy) { void DisplayListBuilder::Transform2DAffine( SkScalar mxx, SkScalar mxy, SkScalar mxt, SkScalar myx, SkScalar myy, SkScalar myt) { - if (SkScalarsAreFinite(mxx, myx) && - SkScalarsAreFinite(mxy, myy) && - SkScalarsAreFinite(mxt, myt)) { + if (std::isfinite(mxx) && std::isfinite(myx) && + std::isfinite(mxy) && std::isfinite(myy) && + std::isfinite(mxt) && std::isfinite(myt)) { if (mxx == 1 && mxy == 0 && myx == 0 && myy == 1) { Translate(mxt, myt); @@ -788,10 +785,14 @@ void DisplayListBuilder::TransformFullPerspective( mwx == 0 && mwy == 0 && mwz == 0 && mwt == 1) { Transform2DAffine(mxx, mxy, mxt, myx, myy, myt); - } else if (SkScalarsAreFinite(mxx, mxy) && SkScalarsAreFinite(mxz, mxt) && - SkScalarsAreFinite(myx, myy) && SkScalarsAreFinite(myz, myt) && - SkScalarsAreFinite(mzx, mzy) && SkScalarsAreFinite(mzz, mzt) && - SkScalarsAreFinite(mwx, mwy) && SkScalarsAreFinite(mwz, mwt)) { + } else if (std::isfinite(mxx) && std::isfinite(mxy) && + std::isfinite(mxz) && std::isfinite(mxt) && + std::isfinite(myx) && std::isfinite(myy) && + std::isfinite(myz) && std::isfinite(myt) && + std::isfinite(mzx) && std::isfinite(mzy) && + std::isfinite(mzz) && std::isfinite(mzt) && + std::isfinite(mwx) && std::isfinite(mwy) && + std::isfinite(mwz) && std::isfinite(mwt)) { checkForDeferredSave(); Push(0, mxx, mxy, mxz, mxt, @@ -1377,7 +1378,7 @@ void DisplayListBuilder::DrawAtlas(const sk_sp& atlas, void DisplayListBuilder::DrawDisplayList(const sk_sp display_list, SkScalar opacity) { - if (!SkScalarIsFinite(opacity) || opacity <= SK_ScalarNearlyZero || + if (!std::isfinite(opacity) || opacity <= SK_ScalarNearlyZero || display_list->op_count() == 0 || display_list->bounds().isEmpty() || current_layer_->is_nop_) { return; diff --git a/display_list/dl_builder.h b/display_list/dl_builder.h index 5cd25b6b9cbc5..64ccd65e216da 100644 --- a/display_list/dl_builder.h +++ b/display_list/dl_builder.h @@ -509,7 +509,7 @@ class DisplayListBuilder final : public virtual DlCanvas, // kInvalidSigma is used to indicate that no MaskBlur is currently set. static constexpr SkScalar kInvalidSigma = 0.0; static bool mask_sigma_valid(SkScalar sigma) { - return SkScalarIsFinite(sigma) && sigma > 0.0; + return std::isfinite(sigma) && sigma > 0.0; } class SaveInfo { diff --git a/display_list/effects/dl_color_filter.cc b/display_list/effects/dl_color_filter.cc index 686484421561c..2ad15e0ab92bf 100644 --- a/display_list/effects/dl_color_filter.cc +++ b/display_list/effects/dl_color_filter.cc @@ -147,7 +147,7 @@ bool DlMatrixColorFilter::modifies_transparent_black() const { // equation ends up becoming A' = matrix_[19]. Negative results will be // clamped to the range [0,1] so we only care about positive values. // Non-finite values are clamped to a zero alpha. - return (SkScalarIsFinite(matrix_[19]) && matrix_[19] > 0); + return (std::isfinite(matrix_[19]) && matrix_[19] > 0); } bool DlMatrixColorFilter::can_commute_with_opacity() const { diff --git a/display_list/effects/dl_image_filter.h b/display_list/effects/dl_image_filter.h index 9cd0126a0cabb..bcb89fd69d887 100644 --- a/display_list/effects/dl_image_filter.h +++ b/display_list/effects/dl_image_filter.h @@ -138,8 +138,8 @@ class DlImageFilter : public DlAttribute { static SkVector map_vectors_affine(const SkMatrix& ctm, SkScalar x, SkScalar y) { - FML_DCHECK(SkScalarIsFinite(x) && x >= 0); - FML_DCHECK(SkScalarIsFinite(y) && y >= 0); + FML_DCHECK(std::isfinite(x) && x >= 0); + FML_DCHECK(std::isfinite(y) && y >= 0); FML_DCHECK(ctm.isFinite() && !ctm.hasPerspective()); // The x and y scalars would have been used to expand a local space @@ -231,7 +231,7 @@ class DlBlurImageFilter final : public DlImageFilter { static std::shared_ptr Make(SkScalar sigma_x, SkScalar sigma_y, DlTileMode tile_mode) { - if (!SkScalarIsFinite(sigma_x) || !SkScalarIsFinite(sigma_y)) { + if (!std::isfinite(sigma_x) || !std::isfinite(sigma_y)) { return nullptr; } if (sigma_x < SK_ScalarNearlyZero && sigma_y < SK_ScalarNearlyZero) { @@ -302,8 +302,8 @@ class DlDilateImageFilter final : public DlImageFilter { static std::shared_ptr Make(SkScalar radius_x, SkScalar radius_y) { - if (SkScalarIsFinite(radius_x) && radius_x > SK_ScalarNearlyZero && - SkScalarIsFinite(radius_y) && radius_y > SK_ScalarNearlyZero) { + if (std::isfinite(radius_x) && radius_x > SK_ScalarNearlyZero && + std::isfinite(radius_y) && radius_y > SK_ScalarNearlyZero) { return std::make_shared(radius_x, radius_y); } return nullptr; @@ -366,8 +366,8 @@ class DlErodeImageFilter final : public DlImageFilter { static std::shared_ptr Make(SkScalar radius_x, SkScalar radius_y) { - if (SkScalarIsFinite(radius_x) && radius_x > SK_ScalarNearlyZero && - SkScalarIsFinite(radius_y) && radius_y > SK_ScalarNearlyZero) { + if (std::isfinite(radius_x) && radius_x > SK_ScalarNearlyZero && + std::isfinite(radius_y) && radius_y > SK_ScalarNearlyZero) { return std::make_shared(radius_x, radius_y); } return nullptr; diff --git a/display_list/effects/dl_mask_filter.h b/display_list/effects/dl_mask_filter.h index d39839565ad2e..26a5869010bff 100644 --- a/display_list/effects/dl_mask_filter.h +++ b/display_list/effects/dl_mask_filter.h @@ -53,7 +53,7 @@ class DlBlurMaskFilter final : public DlMaskFilter { static std::shared_ptr Make(DlBlurStyle style, SkScalar sigma, bool respect_ctm = true) { - if (SkScalarIsFinite(sigma) && sigma > 0) { + if (std::isfinite(sigma) && sigma > 0) { return std::make_shared(style, sigma, respect_ctm); } return nullptr; diff --git a/display_list/testing/dl_rendering_unittests.cc b/display_list/testing/dl_rendering_unittests.cc index dc99b4f1e4e6e..c7505c0c93ec1 100644 --- a/display_list/testing/dl_rendering_unittests.cc +++ b/display_list/testing/dl_rendering_unittests.cc @@ -4111,7 +4111,7 @@ TEST_F(DisplayListRendering, MatrixColorFilterOpacityCommuteCheck) { "matrix[" + std::to_string(element) + "] = " + std::to_string(value); matrix[element] = value; auto filter = DlMatrixColorFilter::Make(matrix); - EXPECT_EQ(SkScalarIsFinite(value), filter != nullptr); + EXPECT_EQ(std::isfinite(value), filter != nullptr); DlPaint paint(DlColor(0x80808080)); DlPaint opacity_save_paint = DlPaint().setOpacity(0.5);