Make NVPR a GL context option instead of a GL context

Make NVPR a GL context option instead of a GL context.
This may enable NVPR to be run with command buffer
interface.

No functionality change in DM or nanobench. NVPR can
only be run with normal GL APIs.

BUG=skia:2992

Committed: https://skia.googlesource.com/skia/+/eeebdb538d476c1bfc8b63a946094ca1b505ecd1

Committed: https://skia.googlesource.com/skia/+/64492c43c3faee7ab0f69b1c84e0267616f85e52

Review URL: https://codereview.chromium.org/1448883002
diff --git a/tests/GrContextFactoryTest.cpp b/tests/GrContextFactoryTest.cpp
index 176391e..50bdedf 100644
--- a/tests/GrContextFactoryTest.cpp
+++ b/tests/GrContextFactoryTest.cpp
@@ -13,11 +13,13 @@
 #include "GrCaps.h"
 #include "Test.h"
 
-DEF_GPUTEST(GrContextFactory_NVPRContextTypeHasPathRenderingSupport, reporter, /*factory*/) {
+DEF_GPUTEST(GrContextFactory_NVPRContextOptionHasPathRenderingSupport, reporter, /*factory*/) {
     // Test that if NVPR is requested, the context always has path rendering
     // or the context creation fails.
     GrContextFactory testFactory;
-    GrContext* context = testFactory.get(GrContextFactory::kNVPR_GLContextType);
+    GrContext* context = testFactory.get(GrContextFactory::kNative_GLContextType,
+                                         kNone_GrGLStandard,
+                                         GrContextFactory::kEnableNVPR_GLContextOptions);
     if (context) {
         REPORTER_ASSERT(
             reporter,
@@ -31,9 +33,6 @@
     GrContextFactory testFactory;
     for (int i = 0; i <= GrContextFactory::kLastGLContextType; ++i) {
         GrContextFactory::GLContextType glCtxType = (GrContextFactory::GLContextType)i;
-        if (glCtxType == GrContextFactory::kNVPR_GLContextType) {
-            continue;
-        }
         GrContext* context = testFactory.get(glCtxType);
         if (context) {
             REPORTER_ASSERT(