DirectX 6 Driver for Mesa 3.0 This software is distributed under the terms of the GNU Library General Public License, see the LICENSE file for details. What do you need ? ------------------ - A PC with a DirectX 6 video driver installed. - Mesa 3.0 - The 3Dfx Glide library 2.3 or later for your OS (the 2.4 works fine). The Voodoo2 requires the Glide library 2.51. The Glide 3.0 is not compatible with the Glide 2.x so it doesn't work with the current version of the driver; - Visual C++ 5.0 is only compiler test but others should be ok with changes to the makefiles (CFLAGS/LFLAGS). - DirectX 6 SDK (was a MS download but not sure if still available). - SoftIce or another debugger that will get DPF's is nice. Tested on: ---------- Windows 95 Windows 98 Windows NT 5.0 (beta 2) What is able to do ? -------------------- - the driver will try and use DirectX to rasterize the OpenGL primitives that are sent to the driver. The driver will fall back to SW if the rendering context is too big. The fallback to SW still uses DirectDraw. If the driver fails to support and operation (accum, stencil, etc) then it will try and get Mesa to render it in SW. DirectX 6 features that are unsupported by the installed DirectX 6 driver will be mapped to some other best fit feature. How to compile: --------------- These instructions assume you have Visual C++ installed. You might need to increase you enviroment space. You can do this by adding the following statement to you config.sys. shell=C:\COMMAND.COM C:\ /p /e:8198 Next setup you compiler enviroment by running vcvars32.bat in the Visual C++ 'bin' directoy. c:\DevStudio\VC\bin\vcvars32.bat Modify the D3D makefile to point at your SDK install. Example has the SDK installed on my 'f' drive in the root. file: \Mesa-3.0\src\makefile.d3d SDKROOT=f:\mssdk Now you can simply make the project. If you look in the makefile you can see I have some different targets like 'install'. nmake /f makefile.d3d FAQ: ---- 1) I don't think the driver is using my DirectX driver. This maybe true as the current version will only select the Primary D3D driver installed. If you 3D card is the secondary (3dfx) then your out of luck for this release. 2) The driver seems like its not HW accelerated. If you have a video card with limited memory then you might want to try and change your destop resolution to a low setting (640x480x16) so that the 3D part of the card has more resources. Remeber the driver can't make the card better... 3) Nothing works. Make sure you have a DirectX '6' driver installed. Check you driver docs for this info or use the SDK info utilities. The final 'dll' is named opengl32.dll and is either in the same directory as the OpenGL program or in your system directory (x:\windows\system or x:\winnt\system32). Check your destop resolution. Most DirectX 6 drivers will only support 16bit and 32bit color depth. To find out for sure you can check the DirectX Info Viewer in the SDK. 4) Rendering doesn't look right. Sometimes this is because the card doesn't support a feature that that is required. This is usually due to unsupported alpha functions (test/blend) or texture mapping. Some cards suffer from too small of an alpha channel. The driver does its best to fallback on unsupported features. This is not to say the driver may not have a bug(s). 5) Textures look bad. No mipmapping in this release. Thanks to: ---------- Brian Paul Leigh McRae (leigh@altsoftware.com) February 9, 1999