Moved common members in TextureStorage11_2D and TextureStorage11_Cube into TextureStorage11.

TRAC #22422 Signed-off-by: Jamie Madill Signed-off-by: Nicolas Capens Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1914 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent a24d646b
......@@ -22,7 +22,14 @@ namespace rx
TextureStorage11::TextureStorage11(Renderer *renderer, UINT bindFlags)
: mBindFlags(bindFlags),
mLodOffset(0),
mMipLevels(0)
mMipLevels(0),
mTexture(NULL),
mTextureFormat(DXGI_FORMAT_UNKNOWN),
mShaderResourceFormat(DXGI_FORMAT_UNKNOWN),
mRenderTargetFormat(DXGI_FORMAT_UNKNOWN),
mDepthStencilFormat(DXGI_FORMAT_UNKNOWN),
mTextureWidth(0),
mTextureHeight(0)
{
mRenderer = Renderer11::makeRenderer11(renderer);
}
......@@ -82,6 +89,11 @@ UINT TextureStorage11::getBindFlags() const
return mBindFlags;
}
ID3D11Texture2D *TextureStorage11::getBaseTexture() const
{
return mTexture;
}
int TextureStorage11::getLodOffset() const
{
return mLodOffset;
......@@ -210,11 +222,6 @@ TextureStorage11_2D::TextureStorage11_2D(Renderer *renderer, SwapChain11 *swapch
TextureStorage11_2D::TextureStorage11_2D(Renderer *renderer, int levels, GLenum internalformat, GLenum usage, bool forceRenderable, GLsizei width, GLsizei height)
: TextureStorage11(renderer, GetTextureBindFlags(gl_d3d11::ConvertTextureFormat(internalformat), usage, forceRenderable))
{
mTexture = NULL;
mSRV = NULL;
mTextureWidth = 0;
mTextureHeight = 0;
for (unsigned int i = 0; i < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS; i++)
{
mRenderTarget[i] = NULL;
......@@ -398,11 +405,6 @@ RenderTarget *TextureStorage11_2D::getRenderTarget(int level)
}
}
ID3D11Texture2D *TextureStorage11_2D::getBaseTexture() const
{
return mTexture;
}
ID3D11ShaderResourceView *TextureStorage11_2D::getSRV()
{
if (!mSRV)
......@@ -438,11 +440,6 @@ void TextureStorage11_2D::generateMipmap(int level)
TextureStorage11_Cube::TextureStorage11_Cube(Renderer *renderer, int levels, GLenum internalformat, GLenum usage, bool forceRenderable, int size)
: TextureStorage11(renderer, GetTextureBindFlags(gl_d3d11::ConvertTextureFormat(internalformat), usage, forceRenderable))
{
mTexture = NULL;
mSRV = NULL;
mTextureWidth = 0;
mTextureHeight = 0;
for (unsigned int i = 0; i < 6; i++)
{
for (unsigned int j = 0; j < gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS; j++)
......@@ -633,11 +630,6 @@ RenderTarget *TextureStorage11_Cube::getRenderTarget(GLenum faceTarget, int leve
}
}
ID3D11Texture2D *TextureStorage11_Cube::getBaseTexture() const
{
return mTexture;
}
ID3D11ShaderResourceView *TextureStorage11_Cube::getSRV()
{
if (!mSRV)
......
......@@ -36,7 +36,7 @@ class TextureStorage11 : public TextureStorage
UINT getBindFlags() const;
virtual ID3D11Texture2D *getBaseTexture() const = 0;
virtual ID3D11Texture2D *getBaseTexture() const;
virtual ID3D11ShaderResourceView *getSRV() = 0;
virtual RenderTarget *getRenderTarget() { return getRenderTarget(0); }
virtual RenderTarget *getRenderTarget(int level) { return NULL; }
......@@ -61,6 +61,16 @@ class TextureStorage11 : public TextureStorage
int mLodOffset;
unsigned int mMipLevels;
ID3D11Texture2D *mTexture;
DXGI_FORMAT mTextureFormat;
DXGI_FORMAT mShaderResourceFormat;
DXGI_FORMAT mRenderTargetFormat;
DXGI_FORMAT mDepthStencilFormat;
unsigned int mTextureWidth;
unsigned int mTextureHeight;
ID3D11ShaderResourceView *mSRV;
private:
DISALLOW_COPY_AND_ASSIGN(TextureStorage11);
......@@ -76,7 +86,6 @@ class TextureStorage11_2D : public TextureStorage11
static TextureStorage11_2D *makeTextureStorage11_2D(TextureStorage *storage);
virtual ID3D11Texture2D *getBaseTexture() const;
virtual ID3D11ShaderResourceView *getSRV();
virtual RenderTarget *getRenderTarget(int level);
......@@ -85,15 +94,6 @@ class TextureStorage11_2D : public TextureStorage11
private:
DISALLOW_COPY_AND_ASSIGN(TextureStorage11_2D);
ID3D11Texture2D *mTexture;
DXGI_FORMAT mTextureFormat;
DXGI_FORMAT mShaderResourceFormat;
DXGI_FORMAT mRenderTargetFormat;
DXGI_FORMAT mDepthStencilFormat;
unsigned int mTextureWidth;
unsigned int mTextureHeight;
ID3D11ShaderResourceView *mSRV;
RenderTarget11 *mRenderTarget[gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS];
};
......@@ -105,7 +105,6 @@ class TextureStorage11_Cube : public TextureStorage11
static TextureStorage11_Cube *makeTextureStorage11_Cube(TextureStorage *storage);
virtual ID3D11Texture2D *getBaseTexture() const;
virtual ID3D11ShaderResourceView *getSRV();
virtual RenderTarget *getRenderTarget(GLenum faceTarget, int level);
......@@ -114,15 +113,6 @@ class TextureStorage11_Cube : public TextureStorage11
private:
DISALLOW_COPY_AND_ASSIGN(TextureStorage11_Cube);
ID3D11Texture2D *mTexture;
DXGI_FORMAT mTextureFormat;
DXGI_FORMAT mShaderResourceFormat;
DXGI_FORMAT mRenderTargetFormat;
DXGI_FORMAT mDepthStencilFormat;
unsigned int mTextureWidth;
unsigned int mTextureHeight;
ID3D11ShaderResourceView *mSRV;
RenderTarget11 *mRenderTarget[6][gl::IMPLEMENTATION_MAX_TEXTURE_LEVELS];
};
......
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