Squash the Texture attachment classes into one.
BUG=angle:732
Change-Id: Ib6b26fe1351bc09e729178f6ec8b8d2ec1f7ff58
Reviewed-on: https://chromium-review.googlesource.com/213970
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libGLESv2/FramebufferAttachment.cpp b/src/libGLESv2/FramebufferAttachment.cpp
index a354a89..971f188 100644
--- a/src/libGLESv2/FramebufferAttachment.cpp
+++ b/src/libGLESv2/FramebufferAttachment.cpp
@@ -78,14 +78,21 @@
///// TextureAttachment Implementation ////////
-TextureAttachment::TextureAttachment(GLenum binding, const ImageIndex &index)
+TextureAttachment::TextureAttachment(GLenum binding, Texture *texture, const ImageIndex &index)
: FramebufferAttachment(binding),
mIndex(index)
-{}
+{
+ mTexture.set(texture);
+}
+
+TextureAttachment::~TextureAttachment()
+{
+ mTexture.set(NULL);
+}
rx::TextureStorage *TextureAttachment::getTextureStorage()
{
- return getTexture()->getNativeTexture()->getStorageInstance();
+ return mTexture->getNativeTexture()->getStorageInstance();
}
GLsizei TextureAttachment::getSamples() const
@@ -95,32 +102,32 @@
GLuint TextureAttachment::id() const
{
- return getTexture()->id();
+ return mTexture->id();
}
unsigned int TextureAttachment::getTextureSerial() const
{
- return getTexture()->getTextureSerial();
+ return mTexture->getTextureSerial();
}
GLsizei TextureAttachment::getWidth() const
{
- return getTexture()->getWidth(mIndex);
+ return mTexture->getWidth(mIndex);
}
GLsizei TextureAttachment::getHeight() const
{
- return getTexture()->getHeight(mIndex);
+ return mTexture->getHeight(mIndex);
}
GLenum TextureAttachment::getInternalFormat() const
{
- return getTexture()->getInternalFormat(mIndex);
+ return mTexture->getInternalFormat(mIndex);
}
GLenum TextureAttachment::getActualFormat() const
{
- return getTexture()->getActualFormat(mIndex);
+ return mTexture->getActualFormat(mIndex);
}
GLenum TextureAttachment::type() const
@@ -140,91 +147,12 @@
rx::RenderTarget *TextureAttachment::getRenderTarget()
{
- return getTexture()->getRenderTarget(mIndex);
+ return mTexture->getRenderTarget(mIndex);
}
unsigned int TextureAttachment::getSerial() const
{
- return getTexture()->getRenderTargetSerial(mIndex);
-}
-
-///// Texture2DAttachment Implementation ////////
-
-Texture2DAttachment::Texture2DAttachment(GLenum binding, Texture2D *texture, GLint level)
- : TextureAttachment(binding, ImageIndex::Make2D(level)),
- mLevel(level)
-{
- mTexture2D.set(texture);
-}
-
-Texture2DAttachment::~Texture2DAttachment()
-{
- mTexture2D.set(NULL);
-}
-
-Texture *Texture2DAttachment::getTexture() const
-{
- return mTexture2D.get();
-}
-
-///// TextureCubeMapAttachment Implementation ////////
-
-TextureCubeMapAttachment::TextureCubeMapAttachment(GLenum binding, TextureCubeMap *texture, GLenum faceTarget, GLint level)
- : TextureAttachment(binding, ImageIndex::MakeCube(faceTarget, level)),
- mFaceTarget(faceTarget),
- mLevel(level)
-{
- mTextureCubeMap.set(texture);
-}
-
-TextureCubeMapAttachment::~TextureCubeMapAttachment()
-{
- mTextureCubeMap.set(NULL);
-}
-
-Texture *TextureCubeMapAttachment::getTexture() const
-{
- return mTextureCubeMap.get();
-}
-
-///// Texture3DAttachment Implementation ////////
-
-Texture3DAttachment::Texture3DAttachment(GLenum binding, Texture3D *texture, GLint level, GLint layer)
- : TextureAttachment(binding, ImageIndex::Make3D(level, layer)),
- mLevel(level),
- mLayer(layer)
-{
- mTexture3D.set(texture);
-}
-
-Texture3DAttachment::~Texture3DAttachment()
-{
- mTexture3D.set(NULL);
-}
-
-Texture *Texture3DAttachment::getTexture() const
-{
- return mTexture3D.get();
-}
-
-////// Texture2DArrayAttachment Implementation //////
-
-Texture2DArrayAttachment::Texture2DArrayAttachment(GLenum binding, Texture2DArray *texture, GLint level, GLint layer)
- : TextureAttachment(binding, ImageIndex::Make2DArray(level, layer)),
- mLevel(level),
- mLayer(layer)
-{
- mTexture2DArray.set(texture);
-}
-
-Texture2DArrayAttachment::~Texture2DArrayAttachment()
-{
- mTexture2DArray.set(NULL);
-}
-
-Texture *Texture2DArrayAttachment::getTexture() const
-{
- return mTexture2DArray.get();
+ return mTexture->getRenderTargetSerial(mIndex);
}
////// RenderbufferAttachment Implementation //////