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)