Reland "Convert GrDitherEffect to a runtime FP"

This reverts commit 3dd52c758b6cbcf1bf6eca1d0a594195e770d2ef.

Change-Id: Ie873ad570ffc57b3edd6ffe8612cbc2c73d40450
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/424259
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/tests/SkRuntimeEffectTest.cpp b/tests/SkRuntimeEffectTest.cpp
index 9c29383..13fb550 100644
--- a/tests/SkRuntimeEffectTest.cpp
+++ b/tests/SkRuntimeEffectTest.cpp
@@ -79,8 +79,7 @@
 
 DEF_TEST(SkRuntimeEffectCanDisableES2Restrictions, r) {
     auto test_valid_es3 = [](skiatest::Reporter* r, const char* sksl) {
-        SkRuntimeEffect::Options opt;
-        opt.enforceES2Restrictions = false;
+        SkRuntimeEffect::Options opt = SkRuntimeEffectPriv::ES3Options();
         auto [effect, errorText] = SkRuntimeEffect::MakeForShader(SkString(sksl), opt);
         REPORTER_ASSERT(r, effect, "%s", errorText.c_str());
     };