| Index: samplecode/SampleApp.cpp
|
| diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
|
| index 127646d0d7ce815ec8ce3209178ec74cdd353db8..3b953f484693f4fcf21651d3b9f125e37554c2b3 100644
|
| --- a/samplecode/SampleApp.cpp
|
| +++ b/samplecode/SampleApp.cpp
|
| @@ -210,6 +210,7 @@ public:
|
| fMSAASampleCount = msaaSampleCount;
|
|
|
| SkASSERT(NULL == fCurIntf);
|
| + SkAutoTUnref<const GrGLInterface> glInterface;
|
| switch (win->getDeviceType()) {
|
| case kRaster_DeviceType:
|
| // fallthrough
|
| @@ -217,21 +218,25 @@ public:
|
| // 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 @@ public:
|
| // We need some context and interface to see results
|
| SkSafeUnref(fCurContext);
|
| SkSafeUnref(fCurIntf);
|
| + fCurContext = NULL;
|
| + fCurIntf = NULL;
|
| SkDebugf("Failed to setup 3D");
|
|
|
| win->detach();
|
|
|