Use the correct d3dformat for texstorage textures.

Trac #19259 Issue=268 The image we were trying to get the d3dformat from hadn't been initialized yet. Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@914 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 8d6252eb
...@@ -1970,9 +1970,10 @@ void Texture2D::storage(GLsizei levels, GLenum internalformat, GLsizei width, GL ...@@ -1970,9 +1970,10 @@ void Texture2D::storage(GLsizei levels, GLenum internalformat, GLsizei width, GL
{ {
GLenum format = gl::ExtractFormat(internalformat); GLenum format = gl::ExtractFormat(internalformat);
GLenum type = gl::ExtractType(internalformat); GLenum type = gl::ExtractType(internalformat);
D3DFORMAT d3dfmt = ConvertTextureFormatType(format, type);
delete mTexture; delete mTexture;
mTexture = new TextureStorage2D(levels, mImageArray[0].getD3DFormat(), width, height, mUsage == GL_FRAMEBUFFER_ATTACHMENT_ANGLE); mTexture = new TextureStorage2D(levels, d3dfmt, width, height, mUsage == GL_FRAMEBUFFER_ATTACHMENT_ANGLE);
mImmutable = true; mImmutable = true;
for (int level = 0; level < levels; level++) for (int level = 0; level < levels; level++)
...@@ -2829,9 +2830,10 @@ void TextureCubeMap::storage(GLsizei levels, GLenum internalformat, GLsizei size ...@@ -2829,9 +2830,10 @@ void TextureCubeMap::storage(GLsizei levels, GLenum internalformat, GLsizei size
{ {
GLenum format = gl::ExtractFormat(internalformat); GLenum format = gl::ExtractFormat(internalformat);
GLenum type = gl::ExtractType(internalformat); GLenum type = gl::ExtractType(internalformat);
D3DFORMAT d3dfmt = ConvertTextureFormatType(format, type);
delete mTexture; delete mTexture;
mTexture = new TextureStorageCubeMap(levels, mImageArray[0][0].getD3DFormat(), size, mUsage == GL_FRAMEBUFFER_ATTACHMENT_ANGLE); mTexture = new TextureStorageCubeMap(levels, d3dfmt, size, mUsage == GL_FRAMEBUFFER_ATTACHMENT_ANGLE);
mImmutable = true; mImmutable = true;
for (int level = 0; level < IMPLEMENTATION_MAX_TEXTURE_LEVELS; level++) for (int level = 0; level < IMPLEMENTATION_MAX_TEXTURE_LEVELS; level++)
......
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