Reland "Remove all instances of incorrect coverage with DMSAA"

This is a reland of 3722d3195be5ddba7f3d44095565628dbe65452b

Original change's description:
> Remove all instances of incorrect coverage with DMSAA
>
> Here we pivot and handle DMSAA differently depending on platform:
>
> 1) Desktop GL and EXT_multisample_compatibility: Here it's easy to use
>    all our existing coverage ops because we can just call
>    glDisable(GL_MULTISAMPLE). So we only trigger MSAA for paths and
>    use the coverage ops for everything else with MSAA disabled.
>
> 2) EXT_multisampled_render_to_to_texture (86% adoption on Android):
>    The assumption here is that MSAA is almost free. So we just allow
>    MSAA to be triggered often and don't worry about it.
>
> Devices that neither support #1 nor #2 just don't get DMSAA for now.
>
> Bug: skia:11396
> Change-Id: I53ad840216ea6d88ae69eece6f7a062f9e82dad7
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421019
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

Bug: skia:11396
Change-Id: I536d365efc3c6890b45f14b7d188e0ef5ec36e19
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421825
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/ops/GrDashLinePathRenderer.cpp b/src/gpu/ops/GrDashLinePathRenderer.cpp
index dfa2967..d880283 100644
--- a/src/gpu/ops/GrDashLinePathRenderer.cpp
+++ b/src/gpu/ops/GrDashLinePathRenderer.cpp
@@ -37,8 +37,9 @@
             aaMode = GrDashOp::AAMode::kNone;
             break;
         case GrAAType::kMSAA:
-            if (args.fSurfaceDrawContext->canUseDynamicMSAA()) {
-                // In DMSAA we avoid using MSAA, in order to reduce the number of MSAA triggers.
+            if (args.fSurfaceDrawContext->canUseDynamicMSAA() &&
+                args.fContext->priv().caps()->multisampleDisableSupport()) {
+                // The coverage-only mode works as well as MSAA, so try to avoid DMSAA triggers.
                 aaMode = GrDashOp::AAMode::kCoverage;
             } else {
                 // In this mode we will use aa between dashes but the outer border uses MSAA.