Ensure texture level count accounts for lod offset.

The lower texture levels (below the lod offset) aren't used and can't be seen, so don't count them in levelCount.

BUG=

Review URL: https://codereview.appspot.com/6492084

git-svn-id: https://angleproject.googlecode.com/svn/trunk@1275 736b8ea6-26fd-11df-bfd4-992fa37f6226
This commit is contained in:
jbauman@chromium.org 2012-09-06 21:28:30 +00:00
Родитель 1e8228df4c
Коммит 6bc4a14693
4 изменённых файлов: 5 добавлений и 4 удалений

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

@ -39,6 +39,7 @@ Google Inc.
Adobe Systems Inc. Adobe Systems Inc.
Alexandru Chiculita Alexandru Chiculita
Steve Minns
Max Vujovic Max Vujovic
Autodesk, Inc. Autodesk, Inc.

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

@ -1,7 +1,7 @@
#define MAJOR_VERSION 1 #define MAJOR_VERSION 1
#define MINOR_VERSION 0 #define MINOR_VERSION 0
#define BUILD_VERSION 0 #define BUILD_VERSION 0
#define BUILD_REVISION 1274 #define BUILD_REVISION 1275
#define STRINGIFY(x) #x #define STRINGIFY(x) #x
#define MACRO_STRINGIFY(x) STRINGIFY(x) #define MACRO_STRINGIFY(x) STRINGIFY(x)

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

@ -1357,9 +1357,9 @@ GLint Texture::creationLevels(GLsizei size) const
return creationLevels(size, size); return creationLevels(size, size);
} }
int Texture::levelCount() const int Texture::levelCount()
{ {
return getBaseTexture() ? getBaseTexture()->GetLevelCount() : 0; return getBaseTexture() ? getBaseTexture()->GetLevelCount() - getLodOffset() : 0;
} }
Blit *Texture::getBlitter() Blit *Texture::getBlitter()

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

@ -227,7 +227,7 @@ class Texture : public RefCountObject
virtual void convertToRenderTarget() = 0; virtual void convertToRenderTarget() = 0;
virtual IDirect3DSurface9 *getRenderTarget(GLenum target) = 0; virtual IDirect3DSurface9 *getRenderTarget(GLenum target) = 0;
int levelCount() const; int levelCount();
static Blit *getBlitter(); static Blit *getBlitter();
static bool copyToRenderTarget(IDirect3DSurface9 *dest, IDirect3DSurface9 *source, bool fromManaged); static bool copyToRenderTarget(IDirect3DSurface9 *dest, IDirect3DSurface9 *source, bool fromManaged);