Fix assert error triggered in D3D11 path when we redefine textures to GL_NONE.
Instead internally convert them between GL_NONE and DXGI_FORMAT_UNKNOWN.
TRAC #22463
Signed-off-by: Geoff Lang
Signed-off-by: Daniel Koch
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1769 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Texture.cpp b/src/libGLESv2/Texture.cpp
index f312b79..28c27db 100644
--- a/src/libGLESv2/Texture.cpp
+++ b/src/libGLESv2/Texture.cpp
@@ -436,7 +436,7 @@
for (int i = 0; i < IMPLEMENTATION_MAX_TEXTURE_LEVELS; i++)
{
- mImageArray[i]->redefine(mRenderer, GL_RGBA8_OES, 0, 0, true);
+ mImageArray[i]->redefine(mRenderer, GL_NONE, 0, 0, true);
}
}
}
diff --git a/src/libGLESv2/renderer/renderer11_utils.cpp b/src/libGLESv2/renderer/renderer11_utils.cpp
index 300bdf9..6bbf66c 100644
--- a/src/libGLESv2/renderer/renderer11_utils.cpp
+++ b/src/libGLESv2/renderer/renderer11_utils.cpp
@@ -283,6 +283,8 @@
return GL_RG16F_EXT;
case DXGI_FORMAT_D24_UNORM_S8_UINT:
return GL_DEPTH24_STENCIL8_OES;
+ case DXGI_FORMAT_UNKNOWN:
+ return GL_NONE;
default:
UNREACHABLE();
}
@@ -364,6 +366,8 @@
case GL_DEPTH_COMPONENT32_OES:
case GL_DEPTH24_STENCIL8_OES:
return DXGI_FORMAT_D24_UNORM_S8_UINT;
+ case GL_NONE:
+ return DXGI_FORMAT_UNKNOWN;
default:
UNREACHABLE();
}