Moves GenerateMipmap function to the Renderer

TRAC #22254

Author: Shannon Woods
Signed-off-by: Geoff Lang
Signed-off-by: Daniel Koch

git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1571 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/renderer/Image.cpp b/src/libGLESv2/renderer/Image.cpp
index 428c0c5..a5a7f9f 100644
--- a/src/libGLESv2/renderer/Image.cpp
+++ b/src/libGLESv2/renderer/Image.cpp
@@ -226,7 +226,7 @@
     }
 }
 
-void Image::GenerateMipmap(Image *dest, Image *source)
+void Image::generateMipmap(Image *dest, Image *source)
 {
     IDirect3DSurface9 *sourceSurface = source->getSurface();
     if (sourceSurface == NULL)
@@ -238,7 +238,7 @@
     source->markDirty();
 }
 
-void Image::CopyLockableSurfaces(IDirect3DSurface9 *dest, IDirect3DSurface9 *source)
+void Image::copyLockableSurfaces(IDirect3DSurface9 *dest, IDirect3DSurface9 *source)
 {
     D3DLOCKED_RECT sourceLock = {0};
     D3DLOCKED_RECT destLock = {0};
@@ -407,7 +407,7 @@
     {
         if (mSurface)
         {
-            CopyLockableSurfaces(surface, mSurface);
+            copyLockableSurfaces(surface, mSurface);
             mSurface->Release();
         }
 
@@ -455,7 +455,7 @@
 
             if (SUCCEEDED(result))
             {
-                CopyLockableSurfaces(surf, sourceSurface);
+                copyLockableSurfaces(surf, sourceSurface);
                 result = device->UpdateSurface(surf, &rect, destSurface, &point);
                 ASSERT(SUCCEEDED(result));
                 surf->Release();
diff --git a/src/libGLESv2/renderer/Image.h b/src/libGLESv2/renderer/Image.h
index d0c6d17..acbc57e 100644
--- a/src/libGLESv2/renderer/Image.h
+++ b/src/libGLESv2/renderer/Image.h
@@ -34,8 +34,8 @@
     Image();
     ~Image();
 
-    static void GenerateMipmap(Image *dest, Image *source);
-    static void Image::CopyLockableSurfaces(IDirect3DSurface9 *dest, IDirect3DSurface9 *source);
+    static void generateMipmap(Image *dest, Image *source);
+    static void copyLockableSurfaces(IDirect3DSurface9 *dest, IDirect3DSurface9 *source);
 
     bool redefine(Renderer *renderer, GLint internalformat, GLsizei width, GLsizei height, bool forceRelease);
     void markDirty() {mDirty = true;}
diff --git a/src/libGLESv2/renderer/Renderer.h b/src/libGLESv2/renderer/Renderer.h
index 6b27ade..0ecc83c 100644
--- a/src/libGLESv2/renderer/Renderer.h
+++ b/src/libGLESv2/renderer/Renderer.h
@@ -166,8 +166,9 @@
     virtual ShaderExecutable *loadExecutable(const void *function, size_t length, GLenum type, void *data) = 0;
     virtual ShaderExecutable *compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, GLenum type) = 0;
 
-    // Image creation
+    // Image operations
     virtual Image *createImage() = 0;
+    virtual void generateMipmap(Image *dest, Image *source) = 0;
 
   protected:
     bool initializeCompiler();
diff --git a/src/libGLESv2/renderer/Renderer11.cpp b/src/libGLESv2/renderer/Renderer11.cpp
index 884adda..4604a15 100644
--- a/src/libGLESv2/renderer/Renderer11.cpp
+++ b/src/libGLESv2/renderer/Renderer11.cpp
@@ -1257,4 +1257,11 @@
     return NULL;
 }
 
+void Renderer11::generateMipmap(Image *dest, Image *src)
+{
+    // TODO
+    UNIMPLEMENTED();
+    return;
+}
+
 }
\ No newline at end of file
diff --git a/src/libGLESv2/renderer/Renderer11.h b/src/libGLESv2/renderer/Renderer11.h
index 12433ea..8c636c6 100644
--- a/src/libGLESv2/renderer/Renderer11.h
+++ b/src/libGLESv2/renderer/Renderer11.h
@@ -134,6 +134,7 @@
 
     // Image operations
     virtual Image *createImage();
+    virtual void generateMipmap(Image *dest, Image *source);
 
     // D3D11-renderer specific methods
     ID3D11Device *getDevice() { return mDevice; }
diff --git a/src/libGLESv2/renderer/Renderer9.cpp b/src/libGLESv2/renderer/Renderer9.cpp
index 6e7447f..706e792 100644
--- a/src/libGLESv2/renderer/Renderer9.cpp
+++ b/src/libGLESv2/renderer/Renderer9.cpp
@@ -2789,7 +2789,7 @@
 
             if (SUCCEEDED(result))
             {
-                Image::CopyLockableSurfaces(surf, source);
+                Image::copyLockableSurfaces(surf, source);
                 result = device->UpdateSurface(surf, NULL, dest, NULL);
                 surf->Release();
             }
@@ -2815,4 +2815,9 @@
     return new Image();
 }
 
+void Renderer9::generateMipmap(Image *dest, Image *src)
+{
+    Image::generateMipmap(dest, src);
+}
+
 }
\ No newline at end of file
diff --git a/src/libGLESv2/renderer/Renderer9.h b/src/libGLESv2/renderer/Renderer9.h
index f76721e..72ca470 100644
--- a/src/libGLESv2/renderer/Renderer9.h
+++ b/src/libGLESv2/renderer/Renderer9.h
@@ -168,6 +168,7 @@
 
     // Image operations
     virtual Image *createImage();
+    virtual void generateMipmap(Image *dest, Image *source);
 
     // D3D9-renderer specific methods
     bool boxFilter(IDirect3DSurface9 *source, IDirect3DSurface9 *dest);