Migrate Image to Image9 and add an abstract base

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@1572 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/renderer/Renderer9.cpp b/src/libGLESv2/renderer/Renderer9.cpp
index 706e792..8b4ff69 100644
--- a/src/libGLESv2/renderer/Renderer9.cpp
+++ b/src/libGLESv2/renderer/Renderer9.cpp
@@ -21,7 +21,7 @@
 #include "libGLESv2/renderer/ShaderExecutable9.h"
 #include "libGLESv2/renderer/SwapChain9.h"
 #include "libGLESv2/renderer/TextureStorage.h"
-#include "libGLESv2/renderer/Image.h"
+#include "libGLESv2/renderer/Image9.h"
 #include "libGLESv2/renderer/Blit.h"
 #include "libGLESv2/renderer/RenderTarget9.h"
 
@@ -2789,7 +2789,7 @@
 
             if (SUCCEEDED(result))
             {
-                Image::copyLockableSurfaces(surf, source);
+                Image9::copyLockableSurfaces(surf, source);
                 result = device->UpdateSurface(surf, NULL, dest, NULL);
                 surf->Release();
             }
@@ -2812,12 +2812,14 @@
 
 Image *Renderer9::createImage()
 {
-    return new Image();
+    return new Image9();
 }
 
 void Renderer9::generateMipmap(Image *dest, Image *src)
 {
-    Image::generateMipmap(dest, src);
+    Image9 *src9 = Image9::makeImage9(src);
+    Image9 *dst9 = Image9::makeImage9(dest);
+    Image9::generateMipmap(dst9, src9);
 }
 
 }
\ No newline at end of file