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;
 }