From 8964336b37ee1da3ee5fa720790dce067f7767d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20D=C3=B6singer?= Date: Wed, 28 Nov 2007 20:21:00 +0100 Subject: [PATCH] wined3d: Refuse to create a mipmapped conditional np2 texture. --- dlls/wined3d/device.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index d4d6e569acd..33c76282746 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -876,6 +876,17 @@ static HRESULT WINAPI IWineD3DDeviceImpl_CreateTexture(IWineD3DDevice *iface, U pow2Width = pow2Height = 1; while (pow2Width < Width) pow2Width <<= 1; while (pow2Height < Height) pow2Height <<= 1; + + if(pow2Width != Width || pow2Height != Height) { + if(Levels > 1) { + WARN("Attempted to create a mipmapped np2 texture without unconditional np2 support\n"); + HeapFree(GetProcessHeap(), 0, object); + *ppTexture = NULL; + return WINED3DERR_INVALIDCALL; + } else { + Levels = 1; + } + } } /** FIXME: add support for real non-power-two if it's provided by the video card **/