Commit 5e48c034 by Jamie Madill

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/218314Reviewed-by: 's avatarBrandon Jones <bajones@chromium.org> Tested-by: 's avatarJamie Madill <jmadill@chromium.org>
parent c483326b
...@@ -501,10 +501,9 @@ void TextureD3D_2D::generateMipmaps() ...@@ -501,10 +501,9 @@ void TextureD3D_2D::generateMipmaps()
if (mTexStorage && mTexStorage->isRenderTarget()) if (mTexStorage && mTexStorage->isRenderTarget())
{ {
mTexStorage->getStorageInstance()->generateMipmaps();
for (int level = 1; level < levelCount; level++) for (int level = 1; level < levelCount; level++)
{ {
mTexStorage->generateMipmap(level);
mImageArray[level]->markClean(); mImageArray[level]->markClean();
} }
} }
...@@ -1000,12 +999,12 @@ void TextureD3D_Cube::generateMipmaps() ...@@ -1000,12 +999,12 @@ void TextureD3D_Cube::generateMipmaps()
if (mTexStorage && mTexStorage->isRenderTarget()) if (mTexStorage && mTexStorage->isRenderTarget())
{ {
mTexStorage->getStorageInstance()->generateMipmaps();
for (int faceIndex = 0; faceIndex < 6; faceIndex++) for (int faceIndex = 0; faceIndex < 6; faceIndex++)
{ {
for (int level = 1; level < levelCount; level++) for (int level = 1; level < levelCount; level++)
{ {
mTexStorage->generateMipmap(faceIndex, level);
mImageArray[faceIndex][level]->markClean(); mImageArray[faceIndex][level]->markClean();
} }
} }
...@@ -1498,10 +1497,10 @@ void TextureD3D_3D::generateMipmaps() ...@@ -1498,10 +1497,10 @@ void TextureD3D_3D::generateMipmaps()
if (mTexStorage && mTexStorage->isRenderTarget()) if (mTexStorage && mTexStorage->isRenderTarget())
{ {
mTexStorage->getStorageInstance()->generateMipmaps();
for (int level = 1; level < levelCount; level++) for (int level = 1; level < levelCount; level++)
{ {
mTexStorage->generateMipmap(level);
mImageArray[level]->markClean(); mImageArray[level]->markClean();
} }
} }
...@@ -1982,10 +1981,10 @@ void TextureD3D_2DArray::generateMipmaps() ...@@ -1982,10 +1981,10 @@ void TextureD3D_2DArray::generateMipmaps()
if (mTexStorage && mTexStorage->isRenderTarget()) if (mTexStorage && mTexStorage->isRenderTarget())
{ {
mTexStorage->getStorageInstance()->generateMipmaps();
for (int level = 1; level < levelCount; level++) for (int level = 1; level < levelCount; level++)
{ {
mTexStorage->generateMipmap(level);
for (int layer = 0; layer < mLayerCounts[level]; layer++) for (int layer = 0; layer < mLayerCounts[level]; layer++)
{ {
mImageArray[level][layer]->markClean(); mImageArray[level][layer]->markClean();
......
...@@ -80,11 +80,6 @@ TextureStorageInterface2D::TextureStorageInterface2D(TextureStorage *storageInst ...@@ -80,11 +80,6 @@ TextureStorageInterface2D::TextureStorageInterface2D(TextureStorage *storageInst
TextureStorageInterface2D::~TextureStorageInterface2D() TextureStorageInterface2D::~TextureStorageInterface2D()
{} {}
void TextureStorageInterface2D::generateMipmap(int level)
{
mInstance->generateMipmap(level);
}
TextureStorageInterfaceCube::TextureStorageInterfaceCube(TextureStorage *storageInstance) TextureStorageInterfaceCube::TextureStorageInterfaceCube(TextureStorage *storageInstance)
: TextureStorageInterface(storageInstance, 6) : TextureStorageInterface(storageInstance, 6)
{} {}
...@@ -92,11 +87,6 @@ TextureStorageInterfaceCube::TextureStorageInterfaceCube(TextureStorage *storage ...@@ -92,11 +87,6 @@ TextureStorageInterfaceCube::TextureStorageInterfaceCube(TextureStorage *storage
TextureStorageInterfaceCube::~TextureStorageInterfaceCube() TextureStorageInterfaceCube::~TextureStorageInterfaceCube()
{} {}
void TextureStorageInterfaceCube::generateMipmap(int faceIndex, int level)
{
mInstance->generateMipmap(faceIndex, level);
}
TextureStorageInterface3D::TextureStorageInterface3D(TextureStorage *storageInstance, unsigned int depth) TextureStorageInterface3D::TextureStorageInterface3D(TextureStorage *storageInstance, unsigned int depth)
: TextureStorageInterface(storageInstance, depth) : TextureStorageInterface(storageInstance, depth)
{} {}
...@@ -104,11 +94,6 @@ TextureStorageInterface3D::TextureStorageInterface3D(TextureStorage *storageInst ...@@ -104,11 +94,6 @@ TextureStorageInterface3D::TextureStorageInterface3D(TextureStorage *storageInst
TextureStorageInterface3D::~TextureStorageInterface3D() TextureStorageInterface3D::~TextureStorageInterface3D()
{} {}
void TextureStorageInterface3D::generateMipmap(int level)
{
mInstance->generateMipmap(level);
}
TextureStorageInterface2DArray::TextureStorageInterface2DArray(TextureStorage *storageInstance, unsigned int depth) TextureStorageInterface2DArray::TextureStorageInterface2DArray(TextureStorage *storageInstance, unsigned int depth)
: TextureStorageInterface(storageInstance, depth) : TextureStorageInterface(storageInstance, depth)
{} {}
...@@ -116,9 +101,4 @@ TextureStorageInterface2DArray::TextureStorageInterface2DArray(TextureStorage *s ...@@ -116,9 +101,4 @@ TextureStorageInterface2DArray::TextureStorageInterface2DArray(TextureStorage *s
TextureStorageInterface2DArray::~TextureStorageInterface2DArray() TextureStorageInterface2DArray::~TextureStorageInterface2DArray()
{} {}
void TextureStorageInterface2DArray::generateMipmap(int level)
{
mInstance->generateMipmap(level);
}
} }
...@@ -38,8 +38,7 @@ class TextureStorage ...@@ -38,8 +38,7 @@ class TextureStorage
virtual int getLevelCount() const = 0; virtual int getLevelCount() const = 0;
virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index) = 0; virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index) = 0;
virtual void generateMipmap(int level) = 0; virtual void generateMipmaps() = 0;
virtual void generateMipmap(int face, int level) = 0;
private: private:
DISALLOW_COPY_AND_ASSIGN(TextureStorage); DISALLOW_COPY_AND_ASSIGN(TextureStorage);
...@@ -85,8 +84,6 @@ class TextureStorageInterface2D : public TextureStorageInterface ...@@ -85,8 +84,6 @@ class TextureStorageInterface2D : public TextureStorageInterface
TextureStorageInterface2D(TextureStorage *storageInstance); TextureStorageInterface2D(TextureStorage *storageInstance);
virtual ~TextureStorageInterface2D(); virtual ~TextureStorageInterface2D();
void generateMipmap(int level);
private: private:
DISALLOW_COPY_AND_ASSIGN(TextureStorageInterface2D); DISALLOW_COPY_AND_ASSIGN(TextureStorageInterface2D);
}; };
...@@ -97,8 +94,6 @@ class TextureStorageInterfaceCube : public TextureStorageInterface ...@@ -97,8 +94,6 @@ class TextureStorageInterfaceCube : public TextureStorageInterface
TextureStorageInterfaceCube(TextureStorage *storageInstance); TextureStorageInterfaceCube(TextureStorage *storageInstance);
virtual ~TextureStorageInterfaceCube(); virtual ~TextureStorageInterfaceCube();
void generateMipmap(int faceIndex, int level);
private: private:
DISALLOW_COPY_AND_ASSIGN(TextureStorageInterfaceCube); DISALLOW_COPY_AND_ASSIGN(TextureStorageInterfaceCube);
}; };
...@@ -109,8 +104,6 @@ class TextureStorageInterface3D : public TextureStorageInterface ...@@ -109,8 +104,6 @@ class TextureStorageInterface3D : public TextureStorageInterface
TextureStorageInterface3D(TextureStorage *storageInstance, unsigned int depth); TextureStorageInterface3D(TextureStorage *storageInstance, unsigned int depth);
virtual ~TextureStorageInterface3D(); virtual ~TextureStorageInterface3D();
void generateMipmap(int level);
private: private:
DISALLOW_COPY_AND_ASSIGN(TextureStorageInterface3D); DISALLOW_COPY_AND_ASSIGN(TextureStorageInterface3D);
}; };
...@@ -121,8 +114,6 @@ class TextureStorageInterface2DArray : public TextureStorageInterface ...@@ -121,8 +114,6 @@ class TextureStorageInterface2DArray : public TextureStorageInterface
TextureStorageInterface2DArray(TextureStorage *storageInstance, unsigned int depth); TextureStorageInterface2DArray(TextureStorage *storageInstance, unsigned int depth);
virtual ~TextureStorageInterface2DArray(); virtual ~TextureStorageInterface2DArray();
void generateMipmap(int level);
private: private:
DISALLOW_COPY_AND_ASSIGN(TextureStorageInterface2DArray); DISALLOW_COPY_AND_ASSIGN(TextureStorageInterface2DArray);
}; };
......
...@@ -706,17 +706,22 @@ ID3D11ShaderResourceView *TextureStorage11_2D::createSRV(int baseLevel, int mipL ...@@ -706,17 +706,22 @@ ID3D11ShaderResourceView *TextureStorage11_2D::createSRV(int baseLevel, int mipL
return SRV; return SRV;
} }
void TextureStorage11_2D::generateMipmap(int level) void TextureStorage11_2D::generateMipmaps()
{ {
invalidateSwizzleCacheLevel(level); // Base level must already be defined
gl::ImageIndex srcIndex = gl::ImageIndex::Make2D(level - 1); for (int level = 1; level < getLevelCount(); level++)
gl::ImageIndex destIndex = gl::ImageIndex::Make2D(level); {
invalidateSwizzleCacheLevel(level);
gl::ImageIndex srcIndex = gl::ImageIndex::Make2D(level - 1);
gl::ImageIndex destIndex = gl::ImageIndex::Make2D(level);
RenderTarget11 *source = RenderTarget11::makeRenderTarget11(getRenderTarget(srcIndex)); RenderTarget11 *source = RenderTarget11::makeRenderTarget11(getRenderTarget(srcIndex));
RenderTarget11 *dest = RenderTarget11::makeRenderTarget11(getRenderTarget(destIndex)); RenderTarget11 *dest = RenderTarget11::makeRenderTarget11(getRenderTarget(destIndex));
generateMipmapLayer(source, dest); generateMipmapLayer(source, dest);
}
} }
ID3D11Resource *TextureStorage11_2D::getSwizzleTexture() ID3D11Resource *TextureStorage11_2D::getSwizzleTexture()
...@@ -1109,17 +1114,25 @@ ID3D11ShaderResourceView *TextureStorage11_Cube::createSRV(int baseLevel, int mi ...@@ -1109,17 +1114,25 @@ ID3D11ShaderResourceView *TextureStorage11_Cube::createSRV(int baseLevel, int mi
return SRV; return SRV;
} }
void TextureStorage11_Cube::generateMipmap(int faceIndex, int level) void TextureStorage11_Cube::generateMipmaps()
{ {
invalidateSwizzleCacheLevel(level); // Base level must already be defined
gl::ImageIndex srcIndex = gl::ImageIndex::MakeCube(GL_TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, level - 1); for (int faceIndex = 0; faceIndex < 6; faceIndex++)
gl::ImageIndex destIndex = gl::ImageIndex::MakeCube(GL_TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, level); {
for (int level = 1; level < getLevelCount(); level++)
{
invalidateSwizzleCacheLevel(level);
gl::ImageIndex srcIndex = gl::ImageIndex::MakeCube(GL_TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, level - 1);
gl::ImageIndex destIndex = gl::ImageIndex::MakeCube(GL_TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, level);
RenderTarget11 *source = RenderTarget11::makeRenderTarget11(getRenderTarget(srcIndex)); RenderTarget11 *source = RenderTarget11::makeRenderTarget11(getRenderTarget(srcIndex));
RenderTarget11 *dest = RenderTarget11::makeRenderTarget11(getRenderTarget(destIndex)); RenderTarget11 *dest = RenderTarget11::makeRenderTarget11(getRenderTarget(destIndex));
generateMipmapLayer(source, dest); generateMipmapLayer(source, dest);
}
}
} }
ID3D11Resource *TextureStorage11_Cube::getSwizzleTexture() ID3D11Resource *TextureStorage11_Cube::getSwizzleTexture()
...@@ -1482,17 +1495,22 @@ RenderTarget *TextureStorage11_3D::getRenderTarget(const gl::ImageIndex &index) ...@@ -1482,17 +1495,22 @@ RenderTarget *TextureStorage11_3D::getRenderTarget(const gl::ImageIndex &index)
return NULL; return NULL;
} }
void TextureStorage11_3D::generateMipmap(int level) void TextureStorage11_3D::generateMipmaps()
{ {
invalidateSwizzleCacheLevel(level); // Base level must already be defined
for (int level = 1; level < getLevelCount(); level++)
{
invalidateSwizzleCacheLevel(level);
gl::ImageIndex srcIndex = gl::ImageIndex::Make3D(level - 1); gl::ImageIndex srcIndex = gl::ImageIndex::Make3D(level - 1);
gl::ImageIndex destIndex = gl::ImageIndex::Make3D(level); gl::ImageIndex destIndex = gl::ImageIndex::Make3D(level);
RenderTarget11 *source = RenderTarget11::makeRenderTarget11(getRenderTarget(srcIndex)); RenderTarget11 *source = RenderTarget11::makeRenderTarget11(getRenderTarget(srcIndex));
RenderTarget11 *dest = RenderTarget11::makeRenderTarget11(getRenderTarget(destIndex)); RenderTarget11 *dest = RenderTarget11::makeRenderTarget11(getRenderTarget(destIndex));
generateMipmapLayer(source, dest); generateMipmapLayer(source, dest);
}
} }
ID3D11Resource *TextureStorage11_3D::getSwizzleTexture() ID3D11Resource *TextureStorage11_3D::getSwizzleTexture()
...@@ -1832,18 +1850,23 @@ RenderTarget *TextureStorage11_2DArray::getRenderTarget(const gl::ImageIndex &in ...@@ -1832,18 +1850,23 @@ RenderTarget *TextureStorage11_2DArray::getRenderTarget(const gl::ImageIndex &in
} }
} }
void TextureStorage11_2DArray::generateMipmap(int level) void TextureStorage11_2DArray::generateMipmaps()
{ {
invalidateSwizzleCacheLevel(level); // Base level must already be defined
for (unsigned int layer = 0; layer < mTextureDepth; layer++)
for (int level = 0; level < getLevelCount(); level++)
{ {
gl::ImageIndex sourceIndex = gl::ImageIndex::Make2DArray(level - 1, layer); invalidateSwizzleCacheLevel(level);
gl::ImageIndex destIndex = gl::ImageIndex::Make2DArray(level, layer); for (unsigned int layer = 0; layer < mTextureDepth; layer++)
{
gl::ImageIndex sourceIndex = gl::ImageIndex::Make2DArray(level - 1, layer);
gl::ImageIndex destIndex = gl::ImageIndex::Make2DArray(level, layer);
RenderTarget11 *source = RenderTarget11::makeRenderTarget11(getRenderTarget(sourceIndex)); RenderTarget11 *source = RenderTarget11::makeRenderTarget11(getRenderTarget(sourceIndex));
RenderTarget11 *dest = RenderTarget11::makeRenderTarget11(getRenderTarget(destIndex)); RenderTarget11 *dest = RenderTarget11::makeRenderTarget11(getRenderTarget(destIndex));
generateMipmapLayer(source, dest); generateMipmapLayer(source, dest);
}
} }
} }
......
...@@ -44,8 +44,7 @@ class TextureStorage11 : public TextureStorage ...@@ -44,8 +44,7 @@ class TextureStorage11 : public TextureStorage
virtual ID3D11ShaderResourceView *getSRV(const gl::SamplerState &samplerState); virtual ID3D11ShaderResourceView *getSRV(const gl::SamplerState &samplerState);
virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index) = 0; virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index) = 0;
virtual void generateMipmap(int level) {}; virtual void generateMipmaps() = 0;
virtual void generateMipmap(int face, int level) {};
virtual int getTopLevel() const; virtual int getTopLevel() const;
virtual bool isRenderTarget() const; virtual bool isRenderTarget() const;
...@@ -165,7 +164,7 @@ class TextureStorage11_2D : public TextureStorage11 ...@@ -165,7 +164,7 @@ class TextureStorage11_2D : public TextureStorage11
virtual ID3D11Resource *getResource() const; virtual ID3D11Resource *getResource() const;
virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index); virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index);
virtual void generateMipmap(int level); virtual void generateMipmaps();
virtual void associateImage(Image11* image, int level, int layerTarget); virtual void associateImage(Image11* image, int level, int layerTarget);
virtual void disassociateImage(int level, int layerTarget, Image11* expectedImage); virtual void disassociateImage(int level, int layerTarget, Image11* expectedImage);
...@@ -203,7 +202,7 @@ class TextureStorage11_Cube : public TextureStorage11 ...@@ -203,7 +202,7 @@ class TextureStorage11_Cube : public TextureStorage11
virtual ID3D11Resource *getResource() const; virtual ID3D11Resource *getResource() const;
virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index); virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index);
virtual void generateMipmap(int faceIndex, int level); virtual void generateMipmaps();
virtual void associateImage(Image11* image, int level, int layerTarget); virtual void associateImage(Image11* image, int level, int layerTarget);
virtual void disassociateImage(int level, int layerTarget, Image11* expectedImage); virtual void disassociateImage(int level, int layerTarget, Image11* expectedImage);
...@@ -244,7 +243,7 @@ class TextureStorage11_3D : public TextureStorage11 ...@@ -244,7 +243,7 @@ class TextureStorage11_3D : public TextureStorage11
// Handles both layer and non-layer RTs // Handles both layer and non-layer RTs
virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index); virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index);
virtual void generateMipmap(int level); virtual void generateMipmaps();
virtual void associateImage(Image11* image, int level, int layerTarget); virtual void associateImage(Image11* image, int level, int layerTarget);
virtual void disassociateImage(int level, int layerTarget, Image11* expectedImage); virtual void disassociateImage(int level, int layerTarget, Image11* expectedImage);
...@@ -287,7 +286,7 @@ class TextureStorage11_2DArray : public TextureStorage11 ...@@ -287,7 +286,7 @@ class TextureStorage11_2DArray : public TextureStorage11
virtual ID3D11Resource *getResource() const; virtual ID3D11Resource *getResource() const;
virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index); virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index);
virtual void generateMipmap(int level); virtual void generateMipmaps();
virtual void associateImage(Image11* image, int level, int layerTarget); virtual void associateImage(Image11* image, int level, int layerTarget);
virtual void disassociateImage(int level, int layerTarget, Image11* expectedImage); virtual void disassociateImage(int level, int layerTarget, Image11* expectedImage);
......
...@@ -162,18 +162,23 @@ RenderTarget *TextureStorage9_2D::getRenderTarget(const gl::ImageIndex &/*index* ...@@ -162,18 +162,23 @@ RenderTarget *TextureStorage9_2D::getRenderTarget(const gl::ImageIndex &/*index*
return mRenderTarget; return mRenderTarget;
} }
void TextureStorage9_2D::generateMipmap(int level) void TextureStorage9_2D::generateMipmaps()
{ {
IDirect3DSurface9 *upper = getSurfaceLevel(level - 1, false); // Base level must already be defined
IDirect3DSurface9 *lower = getSurfaceLevel(level, true);
if (upper != NULL && lower != NULL) for (int level = 1; level < getLevelCount(); level++)
{ {
mRenderer->boxFilter(upper, lower); IDirect3DSurface9 *upper = getSurfaceLevel(level - 1, false);
} IDirect3DSurface9 *lower = getSurfaceLevel(level, true);
SafeRelease(upper); if (upper != NULL && lower != NULL)
SafeRelease(lower); {
mRenderer->boxFilter(upper, lower);
}
SafeRelease(upper);
SafeRelease(lower);
}
} }
IDirect3DBaseTexture9 *TextureStorage9_2D::getBaseTexture() const IDirect3DBaseTexture9 *TextureStorage9_2D::getBaseTexture() const
...@@ -268,18 +273,26 @@ RenderTarget *TextureStorage9_Cube::getRenderTarget(const gl::ImageIndex &index) ...@@ -268,18 +273,26 @@ RenderTarget *TextureStorage9_Cube::getRenderTarget(const gl::ImageIndex &index)
return mRenderTarget[index.layerIndex]; return mRenderTarget[index.layerIndex];
} }
void TextureStorage9_Cube::generateMipmap(int faceIndex, int level) void TextureStorage9_Cube::generateMipmaps()
{ {
IDirect3DSurface9 *upper = getCubeMapSurface(GL_TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, level - 1, false); // Base level must already be defined
IDirect3DSurface9 *lower = getCubeMapSurface(GL_TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, level, true);
if (upper != NULL && lower != NULL) for (int faceIndex = 0; faceIndex < 6; faceIndex++)
{ {
mRenderer->boxFilter(upper, lower); for (int level = 1; level < getLevelCount(); level++)
} {
IDirect3DSurface9 *upper = getCubeMapSurface(GL_TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, level - 1, false);
IDirect3DSurface9 *lower = getCubeMapSurface(GL_TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, level, true);
if (upper != NULL && lower != NULL)
{
mRenderer->boxFilter(upper, lower);
}
SafeRelease(upper); SafeRelease(upper);
SafeRelease(lower); SafeRelease(lower);
}
}
} }
IDirect3DBaseTexture9 *TextureStorage9_Cube::getBaseTexture() const IDirect3DBaseTexture9 *TextureStorage9_Cube::getBaseTexture() const
......
...@@ -35,8 +35,7 @@ class TextureStorage9 : public TextureStorage ...@@ -35,8 +35,7 @@ class TextureStorage9 : public TextureStorage
virtual IDirect3DBaseTexture9 *getBaseTexture() const = 0; virtual IDirect3DBaseTexture9 *getBaseTexture() const = 0;
virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index) = 0; virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index) = 0;
virtual void generateMipmap(int level) {}; virtual void generateMipmaps() = 0;
virtual void generateMipmap(int face, int level) {};
virtual int getTopLevel() const; virtual int getTopLevel() const;
virtual bool isRenderTarget() const; virtual bool isRenderTarget() const;
...@@ -68,7 +67,7 @@ class TextureStorage9_2D : public TextureStorage9 ...@@ -68,7 +67,7 @@ class TextureStorage9_2D : public TextureStorage9
IDirect3DSurface9 *getSurfaceLevel(int level, bool dirty); IDirect3DSurface9 *getSurfaceLevel(int level, bool dirty);
virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index); virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index);
virtual IDirect3DBaseTexture9 *getBaseTexture() const; virtual IDirect3DBaseTexture9 *getBaseTexture() const;
virtual void generateMipmap(int level); virtual void generateMipmaps();
private: private:
DISALLOW_COPY_AND_ASSIGN(TextureStorage9_2D); DISALLOW_COPY_AND_ASSIGN(TextureStorage9_2D);
...@@ -90,7 +89,7 @@ class TextureStorage9_Cube : public TextureStorage9 ...@@ -90,7 +89,7 @@ class TextureStorage9_Cube : public TextureStorage9
IDirect3DSurface9 *getCubeMapSurface(GLenum faceTarget, int level, bool dirty); IDirect3DSurface9 *getCubeMapSurface(GLenum faceTarget, int level, bool dirty);
virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index); virtual RenderTarget *getRenderTarget(const gl::ImageIndex &index);
virtual IDirect3DBaseTexture9 *getBaseTexture() const; virtual IDirect3DBaseTexture9 *getBaseTexture() const;
virtual void generateMipmap(int faceIndex, int level); virtual void generateMipmaps();
private: private:
DISALLOW_COPY_AND_ASSIGN(TextureStorage9_Cube); DISALLOW_COPY_AND_ASSIGN(TextureStorage9_Cube);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment