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/dm/DM.cpp b/dm/DM.cpp
index 1598bcd..fc332a2 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -825,21 +825,7 @@
if (gpu_supported()) {
if (const SkCommandLineConfigGpu* gpuConfig = config->asConfigGpu()) {
GrContextFactory::ContextType contextType = gpuConfig->getContextType();
- GrContextFactory::ContextOptions contextOptions =
- GrContextFactory::kNone_ContextOptions;
- if (gpuConfig->getUseNVPR()) {
- contextOptions = static_cast<GrContextFactory::ContextOptions>(
- contextOptions | GrContextFactory::kEnableNVPR_ContextOptions);
- }
- if (gpuConfig->getUseInstanced()) {
- contextOptions = static_cast<GrContextFactory::ContextOptions>(
- contextOptions | GrContextFactory::kUseInstanced_ContextOptions);
- }
- if (SkColorAndColorSpaceAreGammaCorrect(gpuConfig->getColorType(),
- gpuConfig->getColorSpace())) {
- contextOptions = static_cast<GrContextFactory::ContextOptions>(
- contextOptions | GrContextFactory::kRequireSRGBSupport_ContextOptions);
- }
+ GrContextFactory::ContextOptions contextOptions = gpuConfig->getContextOptions();
GrContextFactory testFactory;
if (!testFactory.get(contextType, contextOptions)) {
info("WARNING: can not create GPU context for config '%s'. "
@@ -1429,7 +1415,7 @@
(*test)(reporter, ctxInfo);
}
ctxInfo = factory->getContextInfo(contextType,
- GrContextFactory::kEnableNVPR_ContextOptions);
+ GrContextFactory::ContextOptions::kEnableNVPR);
if (ctxInfo.grContext()) {
(*test)(reporter, ctxInfo);
}