Remove copyToRenderTarget methods.
These Renderer methods can be replaced with virtual TextureStorage
methods, now that we do not have TextureStorageInterface to
complicate matters. This reduces the number of stubs in Renderer
as well as allowing cleaner code re-use.
BUG=angle:729
Change-Id: I6d2004d4f1abdb1041420144cee1c173e5ab199e
Reviewed-on: https://chromium-review.googlesource.com/219839
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 52e896e..5554e80 100644
--- a/src/libGLESv2/renderer/d3d/TextureD3D.cpp
+++ b/src/libGLESv2/renderer/d3d/TextureD3D.cpp
@@ -35,7 +35,8 @@
: mRenderer(renderer),
mUsage(GL_NONE),
mDirtyImages(true),
- mImmutable(false)
+ mImmutable(false),
+ mTexStorage(NULL)
{
}
@@ -54,13 +55,12 @@
// ensure the underlying texture is created
initializeStorage(false);
- TextureStorage *storage = getBaseLevelStorage();
- if (storage)
+ if (mTexStorage)
{
updateStorage();
}
- return storage;
+ return mTexStorage;
}
GLint TextureD3D::getBaseLevelWidth() const
@@ -242,6 +242,11 @@
return gl::log2(std::max(std::max(getBaseLevelWidth(), getBaseLevelHeight()), getBaseLevelDepth())) + 1;
}
+TextureStorage *TextureD3D::getStorage()
+{
+ return mTexStorage;
+}
+
void TextureD3D::generateMipmaps()
{
// Set up proper image sizes.
@@ -280,8 +285,7 @@
}
TextureD3D_2D::TextureD3D_2D(Renderer *renderer)
- : TextureD3D(renderer),
- mTexStorage(NULL)
+ : TextureD3D(renderer)
{
for (int i = 0; i < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS; ++i)
{
@@ -765,7 +769,7 @@
{
TextureStorage *newRenderTargetStorage = createCompleteStorage(true);
- if (mRenderer->copyToRenderTarget2D(newRenderTargetStorage, mTexStorage).isError())
+ if (mTexStorage->copyToStorage(newRenderTargetStorage).isError())
{
delete newRenderTargetStorage;
return gl::error(GL_OUT_OF_MEMORY, false);
@@ -778,11 +782,6 @@
return (mTexStorage && mTexStorage->isRenderTarget());
}
-TextureStorage *TextureD3D_2D::getBaseLevelStorage()
-{
- return mTexStorage;
-}
-
const ImageD3D *TextureD3D_2D::getBaseLevelImage() const
{
return mImageArray[0];
@@ -857,8 +856,7 @@
}
TextureD3D_Cube::TextureD3D_Cube(Renderer *renderer)
- : TextureD3D(renderer),
- mTexStorage(NULL)
+ : TextureD3D(renderer)
{
for (int i = 0; i < 6; i++)
{
@@ -1241,7 +1239,7 @@
{
TextureStorage *newRenderTargetStorage = createCompleteStorage(true);
- if (mRenderer->copyToRenderTargetCube(newRenderTargetStorage, mTexStorage).isError())
+ if (mTexStorage->copyToStorage(newRenderTargetStorage).isError())
{
delete newRenderTargetStorage;
return gl::error(GL_OUT_OF_MEMORY, false);
@@ -1254,11 +1252,6 @@
return (mTexStorage && mTexStorage->isRenderTarget());
}
-TextureStorage *TextureD3D_Cube::getBaseLevelStorage()
-{
- return mTexStorage;
-}
-
const ImageD3D *TextureD3D_Cube::getBaseLevelImage() const
{
// Note: if we are not cube-complete, there is no single base level image that can describe all
@@ -1384,8 +1377,7 @@
}
TextureD3D_3D::TextureD3D_3D(Renderer *renderer)
- : TextureD3D(renderer),
- mTexStorage(NULL)
+ : TextureD3D(renderer)
{
for (int i = 0; i < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS; ++i)
{
@@ -1779,7 +1771,7 @@
{
TextureStorage *newRenderTargetStorage = createCompleteStorage(true);
- if (mRenderer->copyToRenderTarget3D(newRenderTargetStorage, mTexStorage).isError())
+ if (mTexStorage->copyToStorage(newRenderTargetStorage).isError())
{
delete newRenderTargetStorage;
return gl::error(GL_OUT_OF_MEMORY, false);
@@ -1792,11 +1784,6 @@
return (mTexStorage && mTexStorage->isRenderTarget());
}
-TextureStorage *TextureD3D_3D::getBaseLevelStorage()
-{
- return mTexStorage;
-}
-
const ImageD3D *TextureD3D_3D::getBaseLevelImage() const
{
return mImageArray[0];
@@ -1927,8 +1914,7 @@
}
TextureD3D_2DArray::TextureD3D_2DArray(Renderer *renderer)
- : TextureD3D(renderer),
- mTexStorage(NULL)
+ : TextureD3D(renderer)
{
for (int level = 0; level < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS; ++level)
{
@@ -2292,7 +2278,7 @@
{
TextureStorage *newRenderTargetStorage = createCompleteStorage(true);
- if (mRenderer->copyToRenderTarget2DArray(newRenderTargetStorage, mTexStorage).isError())
+ if (mTexStorage->copyToStorage(newRenderTargetStorage).isError())
{
delete newRenderTargetStorage;
return gl::error(GL_OUT_OF_MEMORY, false);
@@ -2310,11 +2296,6 @@
return (mLayerCounts[0] > 0 ? mImageArray[0][0] : NULL);
}
-TextureStorage *TextureD3D_2DArray::getBaseLevelStorage()
-{
- return mTexStorage;
-}
-
bool TextureD3D_2DArray::isValidLevel(int level) const
{
return (mTexStorage ? (level >= 0 && level < mTexStorage->getLevelCount()) : 0);