Add ContextOptions field to SkCommandLineConfigGpu

Reduces duplicate code by computing the ContextOptions in one spot.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2337163002

Review-Url: https://codereview.chromium.org/2337163002
diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
index ae415fa..238e8f6 100644
--- a/bench/nanobench.cpp
+++ b/bench/nanobench.cpp
@@ -390,7 +390,7 @@
 
 #if SK_SUPPORT_GPU
 #define kBogusContextType GrContextFactory::kNativeGL_ContextType
-#define kBogusContextOptions GrContextFactory::kNone_ContextOptions
+#define kBogusContextOptions GrContextFactory::ContextOptions::kNone
 #else
 #define kBogusContextType 0
 #define kBogusContextOptions 0
@@ -403,21 +403,8 @@
         if (!FLAGS_gpu)
             return;
 
-        auto ctxOptions = GrContextFactory::kNone_ContextOptions;
-        if (gpuConfig->getUseNVPR()) {
-            ctxOptions = static_cast<GrContextFactory::ContextOptions>(
-                ctxOptions | GrContextFactory::kEnableNVPR_ContextOptions);
-        }
-        if (gpuConfig->getUseInstanced()) {
-            ctxOptions = static_cast<GrContextFactory::ContextOptions>(
-                ctxOptions | GrContextFactory::kUseInstanced_ContextOptions);
-        }
-        if (SkColorAndColorSpaceAreGammaCorrect(gpuConfig->getColorType(),
-                                                gpuConfig->getColorSpace())) {
-            ctxOptions = static_cast<GrContextFactory::ContextOptions>(
-                ctxOptions | GrContextFactory::kRequireSRGBSupport_ContextOptions);
-        }
         const auto ctxType = gpuConfig->getContextType();
+        const auto ctxOptions = gpuConfig->getContextOptions();
         const auto sampleCount = gpuConfig->getSamples();
 
         if (const GrContext* ctx = gGrFactory->get(ctxType, ctxOptions)) {