Implement support for mipmap generation (CopyTexImage2D regression)

TRAC #11338

CopyTex(Sub)Image2D was broken by the coordinate space change. Render targets are rendered flipped in the Y axis.

Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch

Author:    Andrew Lewycky

git-svn-id: https://angleproject.googlecode.com/svn/trunk@169 736b8ea6-26fd-11df-bfd4-992fa37f6226
This commit is contained in:
daniel@transgaming.com 2010-04-20 18:52:44 +00:00
Родитель 4901fca3aa
Коммит 18b426be77
1 изменённых файлов: 8 добавлений и 8 удалений

Просмотреть файл

@ -551,8 +551,8 @@ void Texture2D::copyImage(GLint level, GLenum internalFormat, GLint x, GLint y,
RECT sourceRect;
sourceRect.left = x;
sourceRect.right = x + width;
sourceRect.top = source->getHeight() - (y + height);
sourceRect.bottom = source->getHeight() - y;
sourceRect.top = y;
sourceRect.bottom = y + height;
IDirect3DSurface9 *dest;
HRESULT hr = mTexture->GetSurfaceLevel(level, &dest);
@ -586,8 +586,8 @@ void Texture2D::copySubImage(GLint level, GLint xoffset, GLint yoffset, GLint x,
RECT sourceRect;
sourceRect.left = x;
sourceRect.right = x + width;
sourceRect.top = source->getHeight() - (y + height);
sourceRect.bottom = source->getHeight() - y;
sourceRect.top = y;
sourceRect.bottom = y + height;
IDirect3DSurface9 *dest;
HRESULT hr = mTexture->GetSurfaceLevel(level, &dest);
@ -1230,8 +1230,8 @@ void TextureCubeMap::copyImage(GLenum face, GLint level, GLenum internalFormat,
RECT sourceRect;
sourceRect.left = x;
sourceRect.right = x + width;
sourceRect.top = source->getHeight() - (y + height);
sourceRect.bottom = source->getHeight() - y;
sourceRect.top = y;
sourceRect.bottom = y + height;
IDirect3DSurface9 *dest = getCubeMapSurface(face, level);
@ -1297,8 +1297,8 @@ void TextureCubeMap::copySubImage(GLenum face, GLint level, GLint xoffset, GLint
RECT sourceRect;
sourceRect.left = x;
sourceRect.right = x + width;
sourceRect.top = source->getHeight() - (y + height);
sourceRect.bottom = source->getHeight() - y;
sourceRect.top = y;
sourceRect.bottom = y + height;
IDirect3DSurface9 *dest = getCubeMapSurface(face, level);