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
parent c5c806d3
...@@ -822,7 +822,7 @@ void Texture2D::generateMipmaps() ...@@ -822,7 +822,7 @@ void Texture2D::generateMipmaps()
{ {
for (unsigned int i = 1; i <= q; i++) 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 @@ void TextureCubeMap::generateMipmaps() ...@@ -1448,7 +1448,7 @@ void TextureCubeMap::generateMipmaps()
{ {
for (unsigned int i = 1; i <= q; i++) 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]);
} }
} }
} }
......
...@@ -226,7 +226,7 @@ Image::~Image() ...@@ -226,7 +226,7 @@ Image::~Image()
} }
} }
void Image::GenerateMipmap(Image *dest, Image *source) void Image::generateMipmap(Image *dest, Image *source)
{ {
IDirect3DSurface9 *sourceSurface = source->getSurface(); IDirect3DSurface9 *sourceSurface = source->getSurface();
if (sourceSurface == NULL) if (sourceSurface == NULL)
...@@ -238,7 +238,7 @@ void Image::GenerateMipmap(Image *dest, Image *source) ...@@ -238,7 +238,7 @@ void Image::GenerateMipmap(Image *dest, Image *source)
source->markDirty(); source->markDirty();
} }
void Image::CopyLockableSurfaces(IDirect3DSurface9 *dest, IDirect3DSurface9 *source) void Image::copyLockableSurfaces(IDirect3DSurface9 *dest, IDirect3DSurface9 *source)
{ {
D3DLOCKED_RECT sourceLock = {0}; D3DLOCKED_RECT sourceLock = {0};
D3DLOCKED_RECT destLock = {0}; D3DLOCKED_RECT destLock = {0};
...@@ -407,7 +407,7 @@ void Image::setManagedSurface(IDirect3DSurface9 *surface) ...@@ -407,7 +407,7 @@ void Image::setManagedSurface(IDirect3DSurface9 *surface)
{ {
if (mSurface) if (mSurface)
{ {
CopyLockableSurfaces(surface, mSurface); copyLockableSurfaces(surface, mSurface);
mSurface->Release(); mSurface->Release();
} }
...@@ -455,7 +455,7 @@ bool Image::updateSurface(IDirect3DSurface9 *destSurface, GLint xoffset, GLint y ...@@ -455,7 +455,7 @@ bool Image::updateSurface(IDirect3DSurface9 *destSurface, GLint xoffset, GLint y
if (SUCCEEDED(result)) if (SUCCEEDED(result))
{ {
CopyLockableSurfaces(surf, sourceSurface); copyLockableSurfaces(surf, sourceSurface);
result = device->UpdateSurface(surf, &rect, destSurface, &point); result = device->UpdateSurface(surf, &rect, destSurface, &point);
ASSERT(SUCCEEDED(result)); ASSERT(SUCCEEDED(result));
surf->Release(); surf->Release();
......
...@@ -34,8 +34,8 @@ class Image ...@@ -34,8 +34,8 @@ class Image
Image(); Image();
~Image(); ~Image();
static void GenerateMipmap(Image *dest, Image *source); static void generateMipmap(Image *dest, Image *source);
static void Image::CopyLockableSurfaces(IDirect3DSurface9 *dest, IDirect3DSurface9 *source); static void copyLockableSurfaces(IDirect3DSurface9 *dest, IDirect3DSurface9 *source);
bool redefine(Renderer *renderer, GLint internalformat, GLsizei width, GLsizei height, bool forceRelease); bool redefine(Renderer *renderer, GLint internalformat, GLsizei width, GLsizei height, bool forceRelease);
void markDirty() {mDirty = true;} void markDirty() {mDirty = true;}
......
...@@ -166,8 +166,9 @@ class Renderer ...@@ -166,8 +166,9 @@ class Renderer
virtual ShaderExecutable *loadExecutable(const void *function, size_t length, GLenum type, void *data) = 0; 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; virtual ShaderExecutable *compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, GLenum type) = 0;
// Image creation // Image operations
virtual Image *createImage() = 0; virtual Image *createImage() = 0;
virtual void generateMipmap(Image *dest, Image *source) = 0;
protected: protected:
bool initializeCompiler(); bool initializeCompiler();
......
...@@ -1257,4 +1257,11 @@ Image *Renderer11::createImage() ...@@ -1257,4 +1257,11 @@ Image *Renderer11::createImage()
return NULL; return NULL;
} }
void Renderer11::generateMipmap(Image *dest, Image *src)
{
// TODO
UNIMPLEMENTED();
return;
}
} }
\ No newline at end of file
...@@ -134,6 +134,7 @@ class Renderer11 : public Renderer ...@@ -134,6 +134,7 @@ class Renderer11 : public Renderer
// Image operations // Image operations
virtual Image *createImage(); virtual Image *createImage();
virtual void generateMipmap(Image *dest, Image *source);
// D3D11-renderer specific methods // D3D11-renderer specific methods
ID3D11Device *getDevice() { return mDevice; } ID3D11Device *getDevice() { return mDevice; }
......
...@@ -2789,7 +2789,7 @@ bool Renderer9::copyToRenderTarget(IDirect3DSurface9 *dest, IDirect3DSurface9 *s ...@@ -2789,7 +2789,7 @@ bool Renderer9::copyToRenderTarget(IDirect3DSurface9 *dest, IDirect3DSurface9 *s
if (SUCCEEDED(result)) if (SUCCEEDED(result))
{ {
Image::CopyLockableSurfaces(surf, source); Image::copyLockableSurfaces(surf, source);
result = device->UpdateSurface(surf, NULL, dest, NULL); result = device->UpdateSurface(surf, NULL, dest, NULL);
surf->Release(); surf->Release();
} }
...@@ -2815,4 +2815,9 @@ Image *Renderer9::createImage() ...@@ -2815,4 +2815,9 @@ Image *Renderer9::createImage()
return new Image(); return new Image();
} }
void Renderer9::generateMipmap(Image *dest, Image *src)
{
Image::generateMipmap(dest, src);
}
} }
\ No newline at end of file
...@@ -168,6 +168,7 @@ class Renderer9 : public Renderer ...@@ -168,6 +168,7 @@ class Renderer9 : public Renderer
// Image operations // Image operations
virtual Image *createImage(); virtual Image *createImage();
virtual void generateMipmap(Image *dest, Image *source);
// D3D9-renderer specific methods // D3D9-renderer specific methods
bool boxFilter(IDirect3DSurface9 *source, IDirect3DSurface9 *dest); bool boxFilter(IDirect3DSurface9 *source, IDirect3DSurface9 *dest);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment