Turn NVPR on by default (but off in tools).

BUG=skia:2042

Committed: http://code.google.com/p/skia/source/detail?r=13164

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/144003006

git-svn-id: http://skia.googlecode.com/svn/trunk@13176 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index 127646d..3b953f4 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -210,6 +210,7 @@
         fMSAASampleCount = msaaSampleCount;
 
         SkASSERT(NULL == fCurIntf);
+        SkAutoTUnref<const GrGLInterface> glInterface;
         switch (win->getDeviceType()) {
             case kRaster_DeviceType:
                 // fallthrough
@@ -217,21 +218,25 @@
                 // fallthrough
             case kGPU_DeviceType:
                 // all these guys use the native interface
-                fCurIntf = GrGLCreateNativeInterface();
+                glInterface.reset(GrGLCreateNativeInterface());
                 break;
 #if SK_ANGLE
             case kANGLE_DeviceType:
-                fCurIntf = GrGLCreateANGLEInterface();
+                glInterface.reset(GrGLCreateANGLEInterface());
                 break;
 #endif // SK_ANGLE
             case kNullGPU_DeviceType:
-                fCurIntf = GrGLCreateNullInterface();
+                glInterface.reset(GrGLCreateNullInterface());
                 break;
             default:
                 SkASSERT(false);
                 break;
         }
 
+        // Currently SampleApp does not use NVPR. TODO: Provide an NVPR device type that is skipped
+        // when the driver doesn't support NVPR.
+        fCurIntf = GrGLInterfaceRemoveNVPR(glInterface.get());
+
         SkASSERT(NULL == fCurContext);
         fCurContext = GrContext::Create(kOpenGL_GrBackend, (GrBackendContext) fCurIntf);
 
@@ -239,6 +244,8 @@
             // We need some context and interface to see results
             SkSafeUnref(fCurContext);
             SkSafeUnref(fCurIntf);
+            fCurContext = NULL;
+            fCurIntf = NULL;
             SkDebugf("Failed to setup 3D");
 
             win->detach();