get genmipmap function in the struct

BUG=
R=bsalomon@google.com, reed@google.com

Author: humper@google.com

Review URL: https://chromiumcodereview.appspot.com/20436002

git-svn-id: http://skia.googlecode.com/svn/trunk/include@10393 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/GrTexture.h b/gpu/GrTexture.h
index a870818..acb7ade 100644
--- a/gpu/GrTexture.h
+++ b/gpu/GrTexture.h
@@ -43,6 +43,14 @@
     bool isSetFlag(GrTextureFlags flags) const {
         return 0 != (fDesc.fFlags & flags);
     }
+    
+    void dirtyMipMaps(bool mipMapsDirty) {
+        fMipMapsDirty = mipMapsDirty;
+    }
+    
+    bool mipMapsAreDirty() const {
+        return fMipMapsDirty;
+    }
 
     /**
      *  Approximate number of bytes used by the texture
@@ -136,7 +144,8 @@
 
     GrTexture(GrGpu* gpu, bool isWrapped, const GrTextureDesc& desc)
     : INHERITED(gpu, isWrapped, desc)
-    , fRenderTarget(NULL) {
+    , fRenderTarget(NULL) 
+    , fMipMapsDirty(true) {
 
         // only make sense if alloc size is pow2
         fShiftFixedX = 31 - SkCLZ(fDesc.fWidth);
@@ -155,6 +164,8 @@
     // for this texture if the texture is power of two sized.
     int                 fShiftFixedX;
     int                 fShiftFixedY;
+    
+    bool                fMipMapsDirty;
 
     virtual void internal_dispose() const SK_OVERRIDE;
 
diff --git a/gpu/gl/GrGLFunctions.h b/gpu/gl/GrGLFunctions.h
index c29c14f..b30ef3a 100644
--- a/gpu/gl/GrGLFunctions.h
+++ b/gpu/gl/GrGLFunctions.h
@@ -94,6 +94,7 @@
     typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLFrontFaceProc)(GrGLenum mode);
     typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLGenBuffersProc)(GrGLsizei n, GrGLuint* buffers);
     typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLGenFramebuffersProc)(GrGLsizei n, GrGLuint *framebuffers);
+    typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLGenerateMipmapProc)(GrGLenum target);
     typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLGenQueriesProc)(GrGLsizei n, GrGLuint *ids);
     typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLGenRenderbuffersProc)(GrGLsizei n, GrGLuint *renderbuffers);
     typedef GrGLvoid (GR_GL_FUNCTION_TYPE* GrGLGenTexturesProc)(GrGLsizei n, GrGLuint* textures);
diff --git a/gpu/gl/GrGLInterface.h b/gpu/gl/GrGLInterface.h
index 6cc8e17..6a51adc 100644
--- a/gpu/gl/GrGLInterface.h
+++ b/gpu/gl/GrGLInterface.h
@@ -189,6 +189,7 @@
     GLPtr<GrGLFrontFaceProc> fFrontFace;
     GLPtr<GrGLGenBuffersProc> fGenBuffers;
     GLPtr<GrGLGenFramebuffersProc> fGenFramebuffers;
+    GLPtr<GrGLGenerateMipmapProc> fGenerateMipmap;
     GLPtr<GrGLGenQueriesProc> fGenQueries;
     GLPtr<GrGLGenRenderbuffersProc> fGenRenderbuffers;
     GLPtr<GrGLGenTexturesProc> fGenTextures;