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/Texture.cpp b/src/libGLESv2/Texture.cpp
index 909c3bb..d182f74 100644
--- a/src/libGLESv2/Texture.cpp
+++ b/src/libGLESv2/Texture.cpp
@@ -822,7 +822,7 @@
{
for (unsigned int i = 1; i <= q; i++)
{
- rx::Image::GenerateMipmap(mImageArray[i], mImageArray[i - 1]);
+ rx::Image::generateMipmap(mImageArray[i], mImageArray[i - 1]);
}
}
}
@@ -1448,7 +1448,7 @@
{
for (unsigned int i = 1; i <= q; i++)
{
- rx::Image::GenerateMipmap(mImageArray[f][i], mImageArray[f][i - 1]);
+ rx::Image::generateMipmap(mImageArray[f][i], mImageArray[f][i - 1]);
}
}
}
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);