[D3D] Some additionnal mip-mapping fixes...

Lionel Ulmer lionel.ulmer at free.fr
Sat May 10 10:57:54 CDT 2003


This fixes texturing in Gabriel Knight 3... This works for now, will have to
do some investigations on Windows to see if the mip-maps are generated by
DirectX or not in this case.

Changelog:
 - initialize the dwMipmapCount field even if the application forgets it

-- 
		 Lionel Ulmer - http://www.bbrox.org/
-------------- next part --------------
Index: dlls/ddraw/ddraw/main.c
===================================================================
RCS file: /home/wine/wine/dlls/ddraw/ddraw/main.c,v
retrieving revision 1.39
diff -u -r1.39 main.c
--- dlls/ddraw/ddraw/main.c	15 Mar 2003 01:11:15 -0000	1.39
+++ dlls/ddraw/ddraw/main.c	10 May 2003 15:55:22 -0000
@@ -355,6 +355,14 @@
 						  GET_BPP(ddsd)*8);
     }
 
+    /* Check also for the MIPMAP / MIPMAPCOUNT flags.
+       TODO: check if Windows 'auto-builds' somehow the mip-map levels */
+    if (((ddsd.dwFlags & DDSD_MIPMAPCOUNT) == 0) &&
+	((ddsd.ddsCaps.dwCaps & DDSCAPS_MIPMAP) != 0)) {
+        ddsd.dwFlags |= DDSD_MIPMAPCOUNT;
+	ddsd.u2.dwMipMapCount = 1;
+    }
+    
     ddsd.dwFlags |= DDSD_PITCH | DDSD_PIXELFORMAT;
 
     hr = This->create_texture(This, &ddsd, ppSurf, pUnkOuter, mipmap_level);


More information about the wine-patches mailing list