Add an "allPathsVolatile" option for testing

Bug: skia:10419
Change-Id: I4bb2dc515448d8c87329ade90d24bf78ca1d7938
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/319097
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
diff --git a/tools/flags/CommonFlagsGpu.cpp b/tools/flags/CommonFlagsGpu.cpp
index e605581..b0537c5 100644
--- a/tools/flags/CommonFlagsGpu.cpp
+++ b/tools/flags/CommonFlagsGpu.cpp
@@ -16,6 +16,8 @@
 
 static DEFINE_bool(cachePathMasks, true,
                    "Allows path mask textures to be cached in GPU configs.");
+static DEFINE_bool(allPathsVolatile, false,
+                   "Causes all GPU paths to be processed as if 'setIsVolatile' had been called.");
 
 static DEFINE_bool(gs, true, "Enables support for geometry shaders (if hw allows).");
 static DEFINE_bool(ts, true, "Enables support for tessellation shaders (if hw allows.).");
@@ -94,6 +96,7 @@
     ctxOptions->fExecutor                            = gGpuExecutor.get();
     ctxOptions->fDisableCoverageCountingPaths        = !FLAGS_cc;
     ctxOptions->fAllowPathMaskCaching                = FLAGS_cachePathMasks;
+    ctxOptions->fAllPathsVolatile                    = FLAGS_allPathsVolatile;
     ctxOptions->fSuppressGeometryShaders             = !FLAGS_gs;
     ctxOptions->fSuppressTessellationShaders         = !FLAGS_ts;
     ctxOptions->fMaxTessellationSegmentsOverride     = FLAGS_maxTessellationSegments;