Commit 07bb8cf4 by Jamie Madill

Remove Texture::levelCount() and replace it with isValidLevel().

TRAC #23978 Signed-off-by: Shannon Woods Signed-off-by: Geoff Lang
parent 51a94370
......@@ -532,7 +532,7 @@ void Texture2D::setCompressedImage(GLint level, GLenum format, GLsizei width, GL
void Texture2D::commitRect(GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height)
{
if (level < levelCount())
if (isValidLevel(level))
{
rx::Image *image = mImageArray[level];
if (image->copyToStorage(mTexStorage, level, xoffset, yoffset, width, height))
......@@ -591,7 +591,7 @@ void Texture2D::copyImage(GLint level, GLenum format, GLint x, GLint y, GLsizei
ensureRenderTarget();
mImageArray[level]->markClean();
if (width != 0 && height != 0 && level < levelCount())
if (width != 0 && height != 0 && isValidLevel(level))
{
gl::Rectangle sourceRect;
sourceRect.x = x;
......@@ -624,7 +624,7 @@ void Texture2D::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yo
{
ensureRenderTarget();
if (level < levelCount())
if (isValidLevel(level))
{
updateStorageLevel(level);
......@@ -992,9 +992,9 @@ rx::RenderTarget *Texture2D::getDepthSencil(GLint level)
return mTexStorage->getRenderTarget(level);
}
int Texture2D::levelCount()
bool Texture2D::isValidLevel(int level) const
{
return mTexStorage ? mTexStorage->levelCount() : 0;
return (mTexStorage ? (level < mTexStorage->levelCount()) : false);
}
TextureCubeMap::TextureCubeMap(rx::Renderer *renderer, GLuint id) : Texture(renderer, id, GL_TEXTURE_CUBE_MAP)
......@@ -1096,7 +1096,7 @@ void TextureCubeMap::setCompressedImage(GLenum target, GLint level, GLenum forma
void TextureCubeMap::commitRect(int faceIndex, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height)
{
if (level < levelCount())
if (isValidFaceLevel(faceIndex, level))
{
rx::Image *image = mImageArray[faceIndex][level];
if (image->copyToStorage(mTexStorage, faceIndex, level, xoffset, yoffset, width, height))
......@@ -1450,7 +1450,7 @@ void TextureCubeMap::copyImage(GLenum target, GLint level, GLenum format, GLint
ASSERT(width == height);
if (width > 0 && level < levelCount())
if (width > 0 && isValidFaceLevel(faceIndex, level))
{
gl::Rectangle sourceRect;
sourceRect.x = x;
......@@ -1488,7 +1488,7 @@ void TextureCubeMap::copySubImage(GLenum target, GLint level, GLint xoffset, GLi
{
ensureRenderTarget();
if (level < levelCount())
if (isValidFaceLevel(faceIndex, level))
{
updateStorageFaceLevel(faceIndex, level);
......@@ -1645,9 +1645,9 @@ rx::RenderTarget *TextureCubeMap::getDepthStencil(GLenum target, GLint level)
return mTexStorage->getRenderTarget(target, level);
}
int TextureCubeMap::levelCount()
bool TextureCubeMap::isValidFaceLevel(int faceIndex, int level) const
{
return mTexStorage ? mTexStorage->levelCount() - getLodOffset() : 0;
return (mTexStorage ? (level < mTexStorage->levelCount()) : 0);
}
Texture3D::Texture3D(rx::Renderer *renderer, GLuint id) : Texture(renderer, id, GL_TEXTURE_3D)
......@@ -1858,7 +1858,7 @@ void Texture3D::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yo
{
ensureRenderTarget();
if (level < levelCount())
if (isValidLevel(level))
{
updateStorageLevel(level);
......@@ -1985,9 +1985,9 @@ unsigned int Texture3D::getRenderTargetSerial(GLint level, GLint layer)
return (ensureRenderTarget() ? mTexStorage->getRenderTargetSerial(level, layer) : 0);
}
int Texture3D::levelCount()
bool Texture3D::isValidLevel(int level) const
{
return mTexStorage ? mTexStorage->levelCount() : 0;
return (mTexStorage ? (level < mTexStorage->levelCount()) : 0);
}
void Texture3D::initializeStorage(bool renderTarget)
......@@ -2176,7 +2176,7 @@ void Texture3D::redefineImage(GLint level, GLenum internalformat, GLsizei width,
void Texture3D::commitRect(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth)
{
if (level < levelCount())
if (isValidLevel(level))
{
rx::Image *image = mImageArray[level];
if (image->copyToStorage(mTexStorage, level, xoffset, yoffset, zoffset, width, height, depth))
......@@ -2417,7 +2417,7 @@ void Texture2DArray::copySubImage(GLenum target, GLint level, GLint xoffset, GLi
{
ensureRenderTarget();
if (level < levelCount())
if (isValidLevel(level))
{
updateStorageLevel(level);
......@@ -2541,9 +2541,9 @@ unsigned int Texture2DArray::getRenderTargetSerial(GLint level, GLint layer)
return (ensureRenderTarget() ? mTexStorage->getRenderTargetSerial(level, layer) : 0);
}
int Texture2DArray::levelCount()
bool Texture2DArray::isValidLevel(int level) const
{
return mTexStorage ? mTexStorage->levelCount() : 0;
return (mTexStorage ? (level < mTexStorage->levelCount()) : 0);
}
void Texture2DArray::initializeStorage(bool renderTarget)
......@@ -2737,7 +2737,7 @@ void Texture2DArray::redefineImage(GLint level, GLenum internalformat, GLsizei w
void Texture2DArray::commitRect(GLint level, GLint xoffset, GLint yoffset, GLint layerTarget, GLsizei width, GLsizei height)
{
if (level < levelCount() && layerTarget < getDepth(level))
if (isValidLevel(level) && layerTarget < getDepth(level))
{
rx::Image *image = mImageArray[level][layerTarget];
if (image->copyToStorage(mTexStorage, level, xoffset, yoffset, layerTarget, width, height))
......
......@@ -191,7 +191,6 @@ class Texture2D : public Texture
friend class RenderbufferTexture2D;
rx::RenderTarget *getRenderTarget(GLint level);
rx::RenderTarget *getDepthSencil(GLint level);
virtual int levelCount();
private:
DISALLOW_COPY_AND_ASSIGN(Texture2D);
......@@ -206,6 +205,7 @@ class Texture2D : public Texture
virtual const rx::Image *getBaseLevelImage() const;
bool isMipmapComplete() const;
bool isValidLevel(int level) const;
bool isLevelComplete(int level) const;
void updateStorageLevel(int level);
......@@ -261,7 +261,6 @@ class TextureCubeMap : public Texture
friend class RenderbufferTextureCubeMap;
rx::RenderTarget *getRenderTarget(GLenum target, GLint level);
rx::RenderTarget *getDepthStencil(GLenum target, GLint level);
virtual int levelCount();
private:
DISALLOW_COPY_AND_ASSIGN(TextureCubeMap);
......@@ -276,6 +275,7 @@ class TextureCubeMap : public Texture
virtual const rx::Image *getBaseLevelImage() const;
bool isMipmapCubeComplete() const;
bool isValidFaceLevel(int faceIndex, int level) const;
bool isFaceLevelComplete(int faceIndex, int level) const;
void updateStorageFaceLevel(int faceIndex, int level);
......@@ -323,7 +323,6 @@ class Texture3D : public Texture
rx::RenderTarget *getRenderTarget(GLint level);
rx::RenderTarget *getRenderTarget(GLint level, GLint layer);
rx::RenderTarget *getDepthStencil(GLint level, GLint layer);
virtual int levelCount();
private:
DISALLOW_COPY_AND_ASSIGN(Texture3D);
......@@ -341,6 +340,7 @@ class Texture3D : public Texture
void redefineImage(GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
void commitRect(GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);
bool isValidLevel(int level) const;
bool isLevelComplete(int level) const;
void updateStorageLevel(int level);
......@@ -383,7 +383,6 @@ class Texture2DArray : public Texture
friend class RenderbufferTexture2DArrayLayer;
rx::RenderTarget *getRenderTarget(GLint level, GLint layer);
rx::RenderTarget *getDepthStencil(GLint level, GLint layer);
virtual int levelCount();
private:
DISALLOW_COPY_AND_ASSIGN(Texture2DArray);
......@@ -402,6 +401,7 @@ class Texture2DArray : public Texture
void redefineImage(GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
void commitRect(GLint level, GLint xoffset, GLint yoffset, GLint layerTarget, GLsizei width, GLsizei height);
bool isValidLevel(int level) const;
bool isLevelComplete(int level) const;
void updateStorageLevel(int level);
......
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