Moves the Blitter into the Renderer's domain

TRAC #22001

Signed-off-by: Daniel Koch

Author:    Shannon Woods

git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1413 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/renderer/Renderer9.cpp b/src/libGLESv2/renderer/Renderer9.cpp
index 5e128b7..0254b84 100644
--- a/src/libGLESv2/renderer/Renderer9.cpp
+++ b/src/libGLESv2/renderer/Renderer9.cpp
@@ -12,6 +12,7 @@
 #include "libGLESv2/renderer/renderer9_utils.h"
 #include "libGLESv2/renderer/TextureStorage.h"
 #include "libGLESv2/renderer/Image.h"
+#include "libGLESv2/renderer/Blit.h"
 
 #include "libEGL/Config.h"
 #include "libEGL/Display.h"
@@ -62,6 +63,7 @@
     mDevice = NULL;
     mDeviceEx = NULL;
     mDeviceWindow = NULL;
+    mBlit = NULL;
 
     mAdapter = D3DADAPTER_DEFAULT;
 
@@ -79,6 +81,8 @@
 Renderer9::~Renderer9()
 {
     releaseDeviceResources();
+    
+    delete mBlit;
 
     if (mDevice)
     {
@@ -319,6 +323,8 @@
 
     initializeDevice();
 
+    mBlit = new Blit(this);
+
     return EGL_SUCCESS;
 }
 
@@ -1123,6 +1129,23 @@
     return D3DPOOL_DEFAULT;
 }
 
+bool Renderer9::copyImage(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset,
+                          gl::TextureStorage2D *storage, GLint level)
+{
+    return mBlit->copy(framebuffer, sourceRect, destFormat, xoffset, yoffset, storage, level);
+}
+
+bool Renderer9::copyImage(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum destFormat, GLint xoffset, GLint yoffset,
+                          gl::TextureStorageCubeMap *storage, GLenum target, GLint level)
+{
+    return mBlit->copy(framebuffer, sourceRect, destFormat, xoffset, yoffset, storage, target, level);
+}
+
+bool Renderer9::boxFilter(IDirect3DSurface9 *source, IDirect3DSurface9 *dest)
+{
+    return mBlit->boxFilter(source, dest);
+}
+
 D3DPOOL Renderer9::getTexturePool(DWORD usage) const
 {
     if (mD3d9Ex != NULL)