[03/10] d3dx9: Use actual level count for computing the number of loaded mipmaps.
Józef Kucia
joseph.kucia at gmail.com
Fri May 18 08:50:10 CDT 2012
When D3DUSAGE_AUTOGENMIPMAP is set, only the top level is accessible.
---
dlls/d3dx9_36/texture.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/d3dx9_36/texture.c b/dlls/d3dx9_36/texture.c
index 377e4f6..8ca42c5 100644
--- a/dlls/d3dx9_36/texture.c
+++ b/dlls/d3dx9_36/texture.c
@@ -636,7 +636,7 @@ HRESULT WINAPI D3DXCreateTextureFromFileInMemoryEx(LPDIRECT3DDEVICE9 device,
return hr;
}
- loaded_miplevels = min(miplevels, imginfo.MipLevels);
+ loaded_miplevels = min(IDirect3DTexture9_GetLevelCount(*texptr), imginfo.MipLevels);
hr = D3DXFilterTexture((IDirect3DBaseTexture9*) *texptr, palette, loaded_miplevels - 1, mipfilter);
if (FAILED(hr))
@@ -1209,7 +1209,7 @@ HRESULT WINAPI D3DXCreateCubeTextureFromFileInMemoryEx(IDirect3DDevice9 *device,
return hr;
}
- loaded_miplevels = min(mip_levels, img_info.MipLevels);
+ loaded_miplevels = min(IDirect3DCubeTexture9_GetLevelCount(tex), img_info.MipLevels);
hr = D3DXFilterTexture((IDirect3DBaseTexture9*) tex, palette, loaded_miplevels - 1, mip_filter);
if (FAILED(hr))
{
--
1.7.8.6
More information about the wine-patches
mailing list