Make flush discardable and lazily reset context

Review URL: http://codereview.appspot.com/4259059/



git-svn-id: http://skia.googlecode.com/svn/trunk@914 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/src/GrGpuGLShaders2.cpp b/gpu/src/GrGpuGLShaders2.cpp
index 77847e9..f79e9c8 100644
--- a/gpu/src/GrGpuGLShaders2.cpp
+++ b/gpu/src/GrGpuGLShaders2.cpp
@@ -1088,8 +1088,6 @@
 
 GrGpuGLShaders2::GrGpuGLShaders2() {
 
-    resetContextHelper();
-
     fProgram = NULL;
     fProgramCache = new ProgramCache();
 
@@ -1119,11 +1117,9 @@
 }
 
 void GrGpuGLShaders2::resetContext() {
-    INHERITED::resetContext();
-    resetContextHelper();
-}
 
-void GrGpuGLShaders2::resetContextHelper() {
+    INHERITED::resetContext();
+
     fHWGeometryState.fVertexLayout = 0;
     fHWGeometryState.fVertexOffset  = ~0;
     GR_GL(DisableVertexAttribArray(COL_ATTR_LOCATION));