Move generateMipmap to storage interface base class.
Using a little bit more of code repetition allows us to move the
implementation of the mipmaps to a simple virtual interface in
TextureStorage.
BUG=angle:741
Change-Id: I7661d0cc3bdb02b646da0802cba285650d7832b2
Reviewed-on: https://chromium-review.googlesource.com/218314
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libGLESv2/renderer/d3d/TextureD3D.cpp b/src/libGLESv2/renderer/d3d/TextureD3D.cpp
index f0a1bf5..f18eeca 100644
--- a/src/libGLESv2/renderer/d3d/TextureD3D.cpp
+++ b/src/libGLESv2/renderer/d3d/TextureD3D.cpp
@@ -501,10 +501,9 @@
if (mTexStorage && mTexStorage->isRenderTarget())
{
+ mTexStorage->getStorageInstance()->generateMipmaps();
for (int level = 1; level < levelCount; level++)
{
- mTexStorage->generateMipmap(level);
-
mImageArray[level]->markClean();
}
}
@@ -1000,12 +999,12 @@
if (mTexStorage && mTexStorage->isRenderTarget())
{
+ mTexStorage->getStorageInstance()->generateMipmaps();
+
for (int faceIndex = 0; faceIndex < 6; faceIndex++)
{
for (int level = 1; level < levelCount; level++)
{
- mTexStorage->generateMipmap(faceIndex, level);
-
mImageArray[faceIndex][level]->markClean();
}
}
@@ -1498,10 +1497,10 @@
if (mTexStorage && mTexStorage->isRenderTarget())
{
+ mTexStorage->getStorageInstance()->generateMipmaps();
+
for (int level = 1; level < levelCount; level++)
{
- mTexStorage->generateMipmap(level);
-
mImageArray[level]->markClean();
}
}
@@ -1982,10 +1981,10 @@
if (mTexStorage && mTexStorage->isRenderTarget())
{
+ mTexStorage->getStorageInstance()->generateMipmaps();
+
for (int level = 1; level < levelCount; level++)
{
- mTexStorage->generateMipmap(level);
-
for (int layer = 0; layer < mLayerCounts[level]; layer++)
{
mImageArray[level][layer]->markClean();