Commit 2ebab858 by Jamie Madill

Remove Texture::getStorage, which is no longer needed after the previous refactorings.

TRAC #23976 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods
parent 884a4626
...@@ -167,7 +167,7 @@ float Texture::getMaxAnisotropy() const ...@@ -167,7 +167,7 @@ float Texture::getMaxAnisotropy() const
int Texture::getLodOffset() int Texture::getLodOffset()
{ {
rx::TextureStorageInterface *texture = getStorage(false); rx::TextureStorageInterface *texture = getNativeTexture();
return texture ? texture->getLodOffset() : 0; return texture ? texture->getLodOffset() : 0;
} }
...@@ -297,8 +297,9 @@ bool Texture::subImageCompressed(GLint xoffset, GLint yoffset, GLint zoffset, GL ...@@ -297,8 +297,9 @@ bool Texture::subImageCompressed(GLint xoffset, GLint yoffset, GLint zoffset, GL
rx::TextureStorageInterface *Texture::getNativeTexture() rx::TextureStorageInterface *Texture::getNativeTexture()
{ {
// ensure the underlying texture is created // ensure the underlying texture is created
initializeStorage(false);
rx::TextureStorageInterface *storage = getStorage(false); rx::TextureStorageInterface *storage = getBaseLevelStorage();
if (storage) if (storage)
{ {
updateStorage(); updateStorage();
...@@ -319,7 +320,7 @@ void Texture::resetDirty() ...@@ -319,7 +320,7 @@ void Texture::resetDirty()
unsigned int Texture::getTextureSerial() unsigned int Texture::getTextureSerial()
{ {
rx::TextureStorageInterface *texture = getStorage(false); rx::TextureStorageInterface *texture = getNativeTexture();
return texture ? texture->getTextureSerial() : 0; return texture ? texture->getTextureSerial() : 0;
} }
...@@ -926,6 +927,11 @@ const rx::Image *Texture2D::getBaseLevelImage() const ...@@ -926,6 +927,11 @@ const rx::Image *Texture2D::getBaseLevelImage() const
return mImageArray[0]; return mImageArray[0];
} }
rx::TextureStorageInterface *Texture2D::getBaseLevelStorage()
{
return mTexStorage;
}
Renderbuffer *Texture2D::getRenderbuffer(GLint level) Renderbuffer *Texture2D::getRenderbuffer(GLint level)
{ {
Renderbuffer *renderBuffer = mRenderbufferProxies.get(level, 0); Renderbuffer *renderBuffer = mRenderbufferProxies.get(level, 0);
...@@ -946,7 +952,7 @@ unsigned int Texture2D::getRenderTargetSerial(GLint level) ...@@ -946,7 +952,7 @@ unsigned int Texture2D::getRenderTargetSerial(GLint level)
rx::RenderTarget *Texture2D::getRenderTarget(GLint level) rx::RenderTarget *Texture2D::getRenderTarget(GLint level)
{ {
// ensure the underlying texture is created // ensure the underlying texture is created
if (getStorage(true) == NULL) if (!ensureRenderTarget())
{ {
return NULL; return NULL;
} }
...@@ -965,7 +971,7 @@ rx::RenderTarget *Texture2D::getRenderTarget(GLint level) ...@@ -965,7 +971,7 @@ rx::RenderTarget *Texture2D::getRenderTarget(GLint level)
rx::RenderTarget *Texture2D::getDepthSencil(GLint level) rx::RenderTarget *Texture2D::getDepthSencil(GLint level)
{ {
// ensure the underlying texture is created // ensure the underlying texture is created
if (getStorage(true) == NULL) if (!ensureRenderTarget())
{ {
return NULL; return NULL;
} }
...@@ -986,23 +992,6 @@ int Texture2D::levelCount() ...@@ -986,23 +992,6 @@ int Texture2D::levelCount()
return mTexStorage ? mTexStorage->levelCount() : 0; return mTexStorage ? mTexStorage->levelCount() : 0;
} }
rx::TextureStorageInterface *Texture2D::getStorage(bool renderTarget)
{
if (!mTexStorage || (renderTarget && !mTexStorage->isRenderTarget()))
{
if (renderTarget)
{
ensureRenderTarget();
}
else
{
initializeStorage(false);
}
}
return mTexStorage;
}
TextureCubeMap::TextureCubeMap(rx::Renderer *renderer, GLuint id) : Texture(renderer, id, GL_TEXTURE_CUBE_MAP) TextureCubeMap::TextureCubeMap(rx::Renderer *renderer, GLuint id) : Texture(renderer, id, GL_TEXTURE_CUBE_MAP)
{ {
mTexStorage = NULL; mTexStorage = NULL;
...@@ -1580,6 +1569,11 @@ const rx::Image *TextureCubeMap::getBaseLevelImage() const ...@@ -1580,6 +1569,11 @@ const rx::Image *TextureCubeMap::getBaseLevelImage() const
return mImageArray[0][0]; return mImageArray[0][0];
} }
rx::TextureStorageInterface *TextureCubeMap::getBaseLevelStorage()
{
return mTexStorage;
}
Renderbuffer *TextureCubeMap::getRenderbuffer(GLenum target, GLint level) Renderbuffer *TextureCubeMap::getRenderbuffer(GLenum target, GLint level)
{ {
if (!IsCubemapTextureTarget(target)) if (!IsCubemapTextureTarget(target))
...@@ -1609,7 +1603,7 @@ rx::RenderTarget *TextureCubeMap::getRenderTarget(GLenum target, GLint level) ...@@ -1609,7 +1603,7 @@ rx::RenderTarget *TextureCubeMap::getRenderTarget(GLenum target, GLint level)
ASSERT(IsCubemapTextureTarget(target)); ASSERT(IsCubemapTextureTarget(target));
// ensure the underlying texture is created // ensure the underlying texture is created
if (getStorage(true) == NULL) if (!ensureRenderTarget())
{ {
return NULL; return NULL;
} }
...@@ -1630,7 +1624,7 @@ rx::RenderTarget *TextureCubeMap::getDepthStencil(GLenum target, GLint level) ...@@ -1630,7 +1624,7 @@ rx::RenderTarget *TextureCubeMap::getDepthStencil(GLenum target, GLint level)
ASSERT(IsCubemapTextureTarget(target)); ASSERT(IsCubemapTextureTarget(target));
// ensure the underlying texture is created // ensure the underlying texture is created
if (getStorage(true) == NULL) if (!ensureRenderTarget())
{ {
return NULL; return NULL;
} }
...@@ -1651,23 +1645,6 @@ int TextureCubeMap::levelCount() ...@@ -1651,23 +1645,6 @@ int TextureCubeMap::levelCount()
return mTexStorage ? mTexStorage->levelCount() - getLodOffset() : 0; return mTexStorage ? mTexStorage->levelCount() - getLodOffset() : 0;
} }
rx::TextureStorageInterface *TextureCubeMap::getStorage(bool renderTarget)
{
if (!mTexStorage || (renderTarget && !mTexStorage->isRenderTarget()))
{
if (renderTarget)
{
ensureRenderTarget();
}
else
{
initializeStorage(false);
}
}
return mTexStorage;
}
Texture3D::Texture3D(rx::Renderer *renderer, GLuint id) : Texture(renderer, id, GL_TEXTURE_3D) Texture3D::Texture3D(rx::Renderer *renderer, GLuint id) : Texture(renderer, id, GL_TEXTURE_3D)
{ {
mTexStorage = NULL; mTexStorage = NULL;
...@@ -1851,6 +1828,11 @@ const rx::Image *Texture3D::getBaseLevelImage() const ...@@ -1851,6 +1828,11 @@ const rx::Image *Texture3D::getBaseLevelImage() const
return mImageArray[0]; return mImageArray[0];
} }
rx::TextureStorageInterface *Texture3D::getBaseLevelStorage()
{
return mTexStorage;
}
void Texture3D::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, Framebuffer *source) void Texture3D::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, Framebuffer *source)
{ {
if (xoffset + width > mImageArray[level]->getWidth() || yoffset + height > mImageArray[level]->getHeight() || zoffset >= mImageArray[level]->getDepth()) if (xoffset + width > mImageArray[level]->getWidth() || yoffset + height > mImageArray[level]->getHeight() || zoffset >= mImageArray[level]->getDepth())
...@@ -2101,7 +2083,7 @@ bool Texture3D::ensureRenderTarget() ...@@ -2101,7 +2083,7 @@ bool Texture3D::ensureRenderTarget()
rx::RenderTarget *Texture3D::getRenderTarget(GLint level) rx::RenderTarget *Texture3D::getRenderTarget(GLint level)
{ {
// ensure the underlying texture is created // ensure the underlying texture is created
if (getStorage(true) == NULL) if (!ensureRenderTarget())
{ {
return NULL; return NULL;
} }
...@@ -2120,7 +2102,7 @@ rx::RenderTarget *Texture3D::getRenderTarget(GLint level) ...@@ -2120,7 +2102,7 @@ rx::RenderTarget *Texture3D::getRenderTarget(GLint level)
rx::RenderTarget *Texture3D::getRenderTarget(GLint level, GLint layer) rx::RenderTarget *Texture3D::getRenderTarget(GLint level, GLint layer)
{ {
// ensure the underlying texture is created // ensure the underlying texture is created
if (getStorage(true) == NULL) if (!ensureRenderTarget())
{ {
return NULL; return NULL;
} }
...@@ -2139,7 +2121,7 @@ rx::RenderTarget *Texture3D::getRenderTarget(GLint level, GLint layer) ...@@ -2139,7 +2121,7 @@ rx::RenderTarget *Texture3D::getRenderTarget(GLint level, GLint layer)
rx::RenderTarget *Texture3D::getDepthStencil(GLint level, GLint layer) rx::RenderTarget *Texture3D::getDepthStencil(GLint level, GLint layer)
{ {
// ensure the underlying texture is created // ensure the underlying texture is created
if (getStorage(true) == NULL) if (!ensureRenderTarget())
{ {
return NULL; return NULL;
} }
...@@ -2155,23 +2137,6 @@ rx::RenderTarget *Texture3D::getDepthStencil(GLint level, GLint layer) ...@@ -2155,23 +2137,6 @@ rx::RenderTarget *Texture3D::getDepthStencil(GLint level, GLint layer)
return mTexStorage->getRenderTarget(level, layer); return mTexStorage->getRenderTarget(level, layer);
} }
rx::TextureStorageInterface *Texture3D::getStorage(bool renderTarget)
{
if (!mTexStorage || (renderTarget && !mTexStorage->isRenderTarget()))
{
if (renderTarget)
{
ensureRenderTarget();
}
else
{
initializeStorage(false);
}
}
return mTexStorage;
}
void Texture3D::redefineImage(GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) void Texture3D::redefineImage(GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
{ {
// If there currently is a corresponding storage texture image, it has these parameters // If there currently is a corresponding storage texture image, it has these parameters
...@@ -2422,6 +2387,11 @@ const rx::Image *Texture2DArray::getBaseLevelImage() const ...@@ -2422,6 +2387,11 @@ const rx::Image *Texture2DArray::getBaseLevelImage() const
return (mLayerCounts[0] > 0 ? mImageArray[0][0] : NULL); return (mLayerCounts[0] > 0 ? mImageArray[0][0] : NULL);
} }
rx::TextureStorageInterface *Texture2DArray::getBaseLevelStorage()
{
return mTexStorage;
}
void Texture2DArray::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, Framebuffer *source) void Texture2DArray::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height, Framebuffer *source)
{ {
if (xoffset + width > getWidth(level) || yoffset + height > getHeight(level) || zoffset >= getDepth(level) || getDepth(level) == 0) if (xoffset + width > getWidth(level) || yoffset + height > getHeight(level) || zoffset >= getDepth(level) || getDepth(level) == 0)
...@@ -2673,7 +2643,7 @@ bool Texture2DArray::ensureRenderTarget() ...@@ -2673,7 +2643,7 @@ bool Texture2DArray::ensureRenderTarget()
rx::RenderTarget *Texture2DArray::getRenderTarget(GLint level, GLint layer) rx::RenderTarget *Texture2DArray::getRenderTarget(GLint level, GLint layer)
{ {
// ensure the underlying texture is created // ensure the underlying texture is created
if (getStorage(true) == NULL) if (!ensureRenderTarget())
{ {
return NULL; return NULL;
} }
...@@ -2692,7 +2662,7 @@ rx::RenderTarget *Texture2DArray::getRenderTarget(GLint level, GLint layer) ...@@ -2692,7 +2662,7 @@ rx::RenderTarget *Texture2DArray::getRenderTarget(GLint level, GLint layer)
rx::RenderTarget *Texture2DArray::getDepthStencil(GLint level, GLint layer) rx::RenderTarget *Texture2DArray::getDepthStencil(GLint level, GLint layer)
{ {
// ensure the underlying texture is created // ensure the underlying texture is created
if (getStorage(true) == NULL) if (!ensureRenderTarget())
{ {
return NULL; return NULL;
} }
...@@ -2708,23 +2678,6 @@ rx::RenderTarget *Texture2DArray::getDepthStencil(GLint level, GLint layer) ...@@ -2708,23 +2678,6 @@ rx::RenderTarget *Texture2DArray::getDepthStencil(GLint level, GLint layer)
return mTexStorage->getRenderTarget(level, layer); return mTexStorage->getRenderTarget(level, layer);
} }
rx::TextureStorageInterface *Texture2DArray::getStorage(bool renderTarget)
{
if (!mTexStorage || (renderTarget && !mTexStorage->isRenderTarget()))
{
if (renderTarget)
{
ensureRenderTarget();
}
else
{
initializeStorage(false);
}
}
return mTexStorage;
}
void Texture2DArray::redefineImage(GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) void Texture2DArray::redefineImage(GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
{ {
// If there currently is a corresponding storage texture image, it has these parameters // If there currently is a corresponding storage texture image, it has these parameters
......
...@@ -152,7 +152,7 @@ class Texture : public RefCountObject ...@@ -152,7 +152,7 @@ class Texture : public RefCountObject
private: private:
DISALLOW_COPY_AND_ASSIGN(Texture); DISALLOW_COPY_AND_ASSIGN(Texture);
virtual rx::TextureStorageInterface *getStorage(bool renderTarget) = 0; virtual rx::TextureStorageInterface *getBaseLevelStorage() = 0;
virtual const rx::Image *getBaseLevelImage() const = 0; virtual const rx::Image *getBaseLevelImage() const = 0;
}; };
...@@ -202,7 +202,7 @@ class Texture2D : public Texture ...@@ -202,7 +202,7 @@ class Texture2D : public Texture
virtual void updateStorage(); virtual void updateStorage();
virtual bool ensureRenderTarget(); virtual bool ensureRenderTarget();
virtual rx::TextureStorageInterface *getStorage(bool renderTarget); virtual rx::TextureStorageInterface *getBaseLevelStorage();
virtual const rx::Image *getBaseLevelImage() const; virtual const rx::Image *getBaseLevelImage() const;
bool isMipmapComplete() const; bool isMipmapComplete() const;
...@@ -272,7 +272,7 @@ class TextureCubeMap : public Texture ...@@ -272,7 +272,7 @@ class TextureCubeMap : public Texture
virtual void updateStorage(); virtual void updateStorage();
virtual bool ensureRenderTarget(); virtual bool ensureRenderTarget();
virtual rx::TextureStorageInterface *getStorage(bool renderTarget); virtual rx::TextureStorageInterface *getBaseLevelStorage();
virtual const rx::Image *getBaseLevelImage() const; virtual const rx::Image *getBaseLevelImage() const;
bool isMipmapCubeComplete() const; bool isMipmapCubeComplete() const;
...@@ -335,7 +335,7 @@ class Texture3D : public Texture ...@@ -335,7 +335,7 @@ class Texture3D : public Texture
virtual void updateStorage(); virtual void updateStorage();
virtual bool ensureRenderTarget(); virtual bool ensureRenderTarget();
virtual rx::TextureStorageInterface *getStorage(bool renderTarget); virtual rx::TextureStorageInterface *getBaseLevelStorage();
virtual const rx::Image *getBaseLevelImage() const; virtual const rx::Image *getBaseLevelImage() const;
void redefineImage(GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); void redefineImage(GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
...@@ -395,7 +395,7 @@ class Texture2DArray : public Texture ...@@ -395,7 +395,7 @@ class Texture2DArray : public Texture
virtual void updateStorage(); virtual void updateStorage();
virtual bool ensureRenderTarget(); virtual bool ensureRenderTarget();
virtual rx::TextureStorageInterface *getStorage(bool renderTarget); virtual rx::TextureStorageInterface *getBaseLevelStorage();
virtual const rx::Image *getBaseLevelImage() const; virtual const rx::Image *getBaseLevelImage() const;
void deleteImages(); void deleteImages();
......
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