Remove rx::TextureStorageInterface entirely.
This class provides no added benefit now that we've scrapped the
type-specialized classes. We can squash it's functionality into
TextureStorage instead.
BUG=angle:741
Change-Id: I04984806719a01f299986265fe09b3cccf04dca5
Reviewed-on: https://chromium-review.googlesource.com/218316
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libGLESv2/renderer/d3d/TextureD3D.cpp b/src/libGLESv2/renderer/d3d/TextureD3D.cpp
index b68c7fa..2650913 100644
--- a/src/libGLESv2/renderer/d3d/TextureD3D.cpp
+++ b/src/libGLESv2/renderer/d3d/TextureD3D.cpp
@@ -49,12 +49,12 @@
return static_cast<TextureD3D*>(texture);
}
-TextureStorageInterface *TextureD3D::getNativeTexture()
+TextureStorage *TextureD3D::getNativeTexture()
{
// ensure the underlying texture is created
initializeStorage(false);
- TextureStorageInterface *storage = getBaseLevelStorage();
+ TextureStorage *storage = getBaseLevelStorage();
if (storage)
{
updateStorage();
@@ -457,7 +457,7 @@
bool renderTarget = IsRenderTargetUsage(mUsage);
TextureStorage *storage = mRenderer->createTextureStorage2D(internalformat, renderTarget, width, height, levels);
- setCompleteTexStorage(new TextureStorageInterface(storage, 1));
+ setCompleteTexStorage(storage);
}
void TextureD3D_2D::bindTexImage(egl::Surface *surface)
@@ -470,8 +470,8 @@
{
SafeDelete(mTexStorage);
}
- TextureStorage *storage = mRenderer->createTextureStorage2D(surface->getSwapChain());
- mTexStorage = new TextureStorageInterface(storage, 1);
+
+ mTexStorage = mRenderer->createTextureStorage2D(surface->getSwapChain());
mDirtyImages = true;
}
@@ -502,7 +502,7 @@
if (mTexStorage && mTexStorage->isRenderTarget())
{
- mTexStorage->getStorageInstance()->generateMipmaps();
+ mTexStorage->generateMipmaps();
for (int level = 1; level < levelCount; level++)
{
mImageArray[level]->markClean();
@@ -534,7 +534,7 @@
}
updateStorageLevel(index.mipIndex);
- return mTexStorage->getStorageInstance()->getRenderTarget(index);
+ return mTexStorage->getRenderTarget(index);
}
bool TextureD3D_2D::isValidLevel(int level) const
@@ -610,7 +610,7 @@
updateStorage();
}
-TextureStorageInterface *TextureD3D_2D::createCompleteStorage(bool renderTarget) const
+TextureStorage *TextureD3D_2D::createCompleteStorage(bool renderTarget) const
{
GLsizei width = getBaseLevelWidth();
GLsizei height = getBaseLevelHeight();
@@ -621,11 +621,10 @@
// use existing storage level count, when previously specified by TexStorage*D
GLint levels = (mTexStorage ? mTexStorage->getLevelCount() : creationLevels(width, height, 1));
- TextureStorage *storageInstance = mRenderer->createTextureStorage2D(internalFormat, renderTarget, width, height, levels);
- return new TextureStorageInterface(storageInstance, 1);
+ return mRenderer->createTextureStorage2D(internalFormat, renderTarget, width, height, levels);
}
-void TextureD3D_2D::setCompleteTexStorage(TextureStorageInterface *newCompleteTexStorage)
+void TextureD3D_2D::setCompleteTexStorage(TextureStorage *newCompleteTexStorage)
{
SafeDelete(mTexStorage);
mTexStorage = newCompleteTexStorage;
@@ -663,7 +662,7 @@
ASSERT(mTexStorage);
if (!mTexStorage->isRenderTarget())
{
- TextureStorageInterface *newRenderTargetStorage = createCompleteStorage(true);
+ TextureStorage *newRenderTargetStorage = createCompleteStorage(true);
if (!mRenderer->copyToRenderTarget2D(newRenderTargetStorage, mTexStorage))
{
@@ -678,7 +677,7 @@
return (mTexStorage && mTexStorage->isRenderTarget());
}
-TextureStorageInterface *TextureD3D_2D::getBaseLevelStorage()
+TextureStorage *TextureD3D_2D::getBaseLevelStorage()
{
return mTexStorage;
}
@@ -943,8 +942,8 @@
mImmutable = true;
bool renderTarget = IsRenderTargetUsage(mUsage);
- TextureStorage *storageInstance = mRenderer->createTextureStorageCube(internalformat, renderTarget, width, levels);
- setCompleteTexStorage(new TextureStorageInterface(storageInstance, 6));
+ TextureStorage *storage = mRenderer->createTextureStorageCube(internalformat, renderTarget, width, levels);
+ setCompleteTexStorage(storage);
}
// Tests for cube texture completeness. [OpenGL ES 2.0.24] section 3.7.10 page 81.
@@ -1000,7 +999,7 @@
if (mTexStorage && mTexStorage->isRenderTarget())
{
- mTexStorage->getStorageInstance()->generateMipmaps();
+ mTexStorage->generateMipmaps();
for (int faceIndex = 0; faceIndex < 6; faceIndex++)
{
@@ -1038,7 +1037,7 @@
}
updateStorageFaceLevel(index.layerIndex, index.mipIndex);
- return mTexStorage->getStorageInstance()->getRenderTarget(index);
+ return mTexStorage->getRenderTarget(index);
}
void TextureD3D_Cube::initializeStorage(bool renderTarget)
@@ -1064,7 +1063,7 @@
updateStorage();
}
-TextureStorageInterface *TextureD3D_Cube::createCompleteStorage(bool renderTarget) const
+TextureStorage *TextureD3D_Cube::createCompleteStorage(bool renderTarget) const
{
GLsizei size = getBaseLevelWidth();
@@ -1073,11 +1072,10 @@
// use existing storage level count, when previously specified by TexStorage*D
GLint levels = (mTexStorage ? mTexStorage->getLevelCount() : creationLevels(size, size, 1));
- TextureStorage *storage = mRenderer->createTextureStorageCube(getBaseLevelInternalFormat(), renderTarget, size, levels);
- return new TextureStorageInterface(storage, 6);
+ return mRenderer->createTextureStorageCube(getBaseLevelInternalFormat(), renderTarget, size, levels);
}
-void TextureD3D_Cube::setCompleteTexStorage(TextureStorageInterface *newCompleteTexStorage)
+void TextureD3D_Cube::setCompleteTexStorage(TextureStorage *newCompleteTexStorage)
{
SafeDelete(mTexStorage);
mTexStorage = newCompleteTexStorage;
@@ -1121,7 +1119,7 @@
ASSERT(mTexStorage);
if (!mTexStorage->isRenderTarget())
{
- TextureStorageInterface *newRenderTargetStorage = createCompleteStorage(true);
+ TextureStorage *newRenderTargetStorage = createCompleteStorage(true);
if (!mRenderer->copyToRenderTargetCube(newRenderTargetStorage, mTexStorage))
{
@@ -1136,7 +1134,7 @@
return (mTexStorage && mTexStorage->isRenderTarget());
}
-TextureStorageInterface *TextureD3D_Cube::getBaseLevelStorage()
+TextureStorage *TextureD3D_Cube::getBaseLevelStorage()
{
return mTexStorage;
}
@@ -1470,7 +1468,7 @@
bool renderTarget = IsRenderTargetUsage(mUsage);
TextureStorage *storage = mRenderer->createTextureStorage3D(internalformat, renderTarget, width, height, depth, levels);
- setCompleteTexStorage(new TextureStorageInterface(storage, depth));
+ setCompleteTexStorage(storage);
}
void TextureD3D_3D::bindTexImage(egl::Surface *surface)
@@ -1498,7 +1496,7 @@
if (mTexStorage && mTexStorage->isRenderTarget())
{
- mTexStorage->getStorageInstance()->generateMipmaps();
+ mTexStorage->generateMipmaps();
for (int level = 1; level < levelCount; level++)
{
@@ -1536,7 +1534,7 @@
updateStorageLevel(index.mipIndex);
}
- return mTexStorage->getStorageInstance()->getRenderTarget(index);
+ return mTexStorage->getRenderTarget(index);
}
void TextureD3D_3D::initializeStorage(bool renderTarget)
@@ -1562,7 +1560,7 @@
updateStorage();
}
-TextureStorageInterface *TextureD3D_3D::createCompleteStorage(bool renderTarget) const
+TextureStorage *TextureD3D_3D::createCompleteStorage(bool renderTarget) const
{
GLsizei width = getBaseLevelWidth();
GLsizei height = getBaseLevelHeight();
@@ -1574,11 +1572,10 @@
// use existing storage level count, when previously specified by TexStorage*D
GLint levels = (mTexStorage ? mTexStorage->getLevelCount() : creationLevels(width, height, depth));
- TextureStorage *storage = mRenderer->createTextureStorage3D(internalFormat, renderTarget, width, height, depth, levels);
- return new TextureStorageInterface(storage, depth);
+ return mRenderer->createTextureStorage3D(internalFormat, renderTarget, width, height, depth, levels);
}
-void TextureD3D_3D::setCompleteTexStorage(TextureStorageInterface *newCompleteTexStorage)
+void TextureD3D_3D::setCompleteTexStorage(TextureStorage *newCompleteTexStorage)
{
SafeDelete(mTexStorage);
mTexStorage = newCompleteTexStorage;
@@ -1610,7 +1607,7 @@
ASSERT(mTexStorage);
if (!mTexStorage->isRenderTarget())
{
- TextureStorageInterface *newRenderTargetStorage = createCompleteStorage(true);
+ TextureStorage *newRenderTargetStorage = createCompleteStorage(true);
if (!mRenderer->copyToRenderTarget3D(newRenderTargetStorage, mTexStorage))
{
@@ -1625,7 +1622,7 @@
return (mTexStorage && mTexStorage->isRenderTarget());
}
-TextureStorageInterface *TextureD3D_3D::getBaseLevelStorage()
+TextureStorage *TextureD3D_3D::getBaseLevelStorage()
{
return mTexStorage;
}
@@ -1952,7 +1949,7 @@
bool renderTarget = IsRenderTargetUsage(mUsage);
TextureStorage *storage = mRenderer->createTextureStorage2DArray(internalformat, renderTarget, width, height, depth, levels);
- setCompleteTexStorage(new TextureStorageInterface(storage, depth));
+ setCompleteTexStorage(storage);
}
void TextureD3D_2DArray::bindTexImage(egl::Surface *surface)
@@ -1982,7 +1979,7 @@
if (mTexStorage && mTexStorage->isRenderTarget())
{
- mTexStorage->getStorageInstance()->generateMipmaps();
+ mTexStorage->generateMipmaps();
for (int level = 1; level < levelCount; level++)
{
@@ -2018,7 +2015,7 @@
}
updateStorageLevel(index.mipIndex);
- return mTexStorage->getStorageInstance()->getRenderTarget(index);
+ return mTexStorage->getRenderTarget(index);
}
void TextureD3D_2DArray::initializeStorage(bool renderTarget)
@@ -2044,7 +2041,7 @@
updateStorage();
}
-TextureStorageInterface *TextureD3D_2DArray::createCompleteStorage(bool renderTarget) const
+TextureStorage *TextureD3D_2DArray::createCompleteStorage(bool renderTarget) const
{
GLsizei width = getBaseLevelWidth();
GLsizei height = getBaseLevelHeight();
@@ -2056,11 +2053,10 @@
// use existing storage level count, when previously specified by TexStorage*D
GLint levels = (mTexStorage ? mTexStorage->getLevelCount() : creationLevels(width, height, 1));
- TextureStorage *storage = mRenderer->createTextureStorage2DArray(internalFormat, renderTarget, width, height, depth, levels);
- return new TextureStorageInterface(storage, depth);
+ return mRenderer->createTextureStorage2DArray(internalFormat, renderTarget, width, height, depth, levels);
}
-void TextureD3D_2DArray::setCompleteTexStorage(TextureStorageInterface *newCompleteTexStorage)
+void TextureD3D_2DArray::setCompleteTexStorage(TextureStorage *newCompleteTexStorage)
{
SafeDelete(mTexStorage);
mTexStorage = newCompleteTexStorage;
@@ -2092,7 +2088,7 @@
ASSERT(mTexStorage);
if (!mTexStorage->isRenderTarget())
{
- TextureStorageInterface *newRenderTargetStorage = createCompleteStorage(true);
+ TextureStorage *newRenderTargetStorage = createCompleteStorage(true);
if (!mRenderer->copyToRenderTarget2DArray(newRenderTargetStorage, mTexStorage))
{
@@ -2112,7 +2108,7 @@
return (mLayerCounts[0] > 0 ? mImageArray[0][0] : NULL);
}
-TextureStorageInterface *TextureD3D_2DArray::getBaseLevelStorage()
+TextureStorage *TextureD3D_2DArray::getBaseLevelStorage()
{
return mTexStorage;
}