Fixed a bug where the wrong number of mip levels would be generated if levels was zero and the lod offset was non-zero.
TRAC #13332
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Geoff Lang
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1970 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/renderer/TextureStorage11.cpp b/src/libGLESv2/renderer/TextureStorage11.cpp
index 9324a69..4c2189f 100644
--- a/src/libGLESv2/renderer/TextureStorage11.cpp
+++ b/src/libGLESv2/renderer/TextureStorage11.cpp
@@ -263,7 +263,7 @@
D3D11_TEXTURE2D_DESC desc;
desc.Width = width; // Compressed texture size constraints?
desc.Height = height;
- desc.MipLevels = levels + mLodOffset;
+ desc.MipLevels = (levels > 0) ? levels + mLodOffset : 0;
desc.ArraySize = 1;
desc.Format = mTextureFormat;
desc.SampleDesc.Count = 1;
@@ -485,7 +485,7 @@
D3D11_TEXTURE2D_DESC desc;
desc.Width = size;
desc.Height = size;
- desc.MipLevels = levels + mLodOffset;
+ desc.MipLevels = (levels > 0) ? levels + mLodOffset : 0;
desc.ArraySize = 6;
desc.Format = mTextureFormat;
desc.SampleDesc.Count = 1;