Brian Paul | da9513d | 1999-02-10 13:14:53 +0000 | [diff] [blame] | 1 | |
| 2 | DirectX 6 Driver for Mesa 3.0 |
| 3 | |
| 4 | |
| 5 | This software is distributed under the terms of the GNU Library |
| 6 | General Public License, see the LICENSE file for details. |
| 7 | |
| 8 | |
| 9 | |
| 10 | What do you need ? |
| 11 | ------------------ |
| 12 | |
| 13 | - A PC with a DirectX 6 video driver installed. |
| 14 | |
| 15 | - Mesa 3.0 |
| 16 | |
| 17 | - The 3Dfx Glide library 2.3 or later for your OS (the 2.4 works fine). |
| 18 | The Voodoo2 requires the Glide library 2.51. The Glide 3.0 is not |
| 19 | compatible with the Glide 2.x so it doesn't work with the current |
| 20 | version of the driver; |
| 21 | |
| 22 | - Visual C++ 5.0 is only compiler test but others should be ok with |
| 23 | changes to the makefiles (CFLAGS/LFLAGS). |
| 24 | |
| 25 | - DirectX 6 SDK (was a MS download but not sure if still available). |
| 26 | |
| 27 | - SoftIce or another debugger that will get DPF's is nice. |
| 28 | |
| 29 | |
| 30 | Tested on: |
| 31 | ---------- |
| 32 | Windows 95 |
| 33 | Windows 98 |
| 34 | Windows NT 5.0 (beta 2) |
| 35 | |
| 36 | |
| 37 | What is able to do ? |
| 38 | -------------------- |
| 39 | |
| 40 | - the driver will try and use DirectX to rasterize the OpenGL primitives |
| 41 | that are sent to the driver. The driver will fall back to SW if the rendering |
| 42 | context is too big. The fallback to SW still uses DirectDraw. If the driver |
| 43 | fails to support and operation (accum, stencil, etc) then it will try and get |
| 44 | Mesa to render it in SW. DirectX 6 features that are unsupported by the |
| 45 | installed DirectX 6 driver will be mapped to some other best fit feature. |
| 46 | |
| 47 | |
| 48 | How to compile: |
| 49 | --------------- |
| 50 | |
| 51 | These instructions assume you have Visual C++ installed. |
| 52 | |
| 53 | You might need to increase you enviroment space. You can do this by |
| 54 | adding the following statement to you config.sys. |
| 55 | |
| 56 | shell=C:\COMMAND.COM C:\ /p /e:8198 |
| 57 | |
| 58 | Next setup you compiler enviroment by running vcvars32.bat in the Visual C++ |
| 59 | 'bin' directoy. |
| 60 | |
| 61 | c:\DevStudio\VC\bin\vcvars32.bat |
| 62 | |
| 63 | Modify the D3D makefile to point at your SDK install. Example has the SDK |
| 64 | installed on my 'f' drive in the root. |
| 65 | |
| 66 | file: \Mesa-3.0\src\makefile.d3d |
| 67 | |
| 68 | SDKROOT=f:\mssdk |
| 69 | |
| 70 | Now you can simply make the project. If you look in the makefile you can see |
| 71 | I have some different targets like 'install'. |
| 72 | |
| 73 | nmake /f makefile.d3d |
| 74 | |
| 75 | |
| 76 | FAQ: |
| 77 | ---- |
| 78 | |
| 79 | 1) I don't think the driver is using my DirectX driver. |
| 80 | |
| 81 | This maybe true as the current version will only select the Primary D3D driver |
| 82 | installed. If you 3D card is the secondary (3dfx) then your out of luck for this |
| 83 | release. |
| 84 | |
| 85 | 2) The driver seems like its not HW accelerated. |
| 86 | |
| 87 | If you have a video card with limited memory then you might want to try and |
| 88 | change your destop resolution to a low setting (640x480x16) so that the 3D part |
| 89 | of the card has more resources. Remeber the driver can't make the card better... |
| 90 | |
| 91 | 3) Nothing works. |
| 92 | |
| 93 | Make sure you have a DirectX '6' driver installed. Check you driver docs for this |
| 94 | info or use the SDK info utilities. |
| 95 | The final 'dll' is named opengl32.dll and is either in the same directory as the |
| 96 | OpenGL program or in your system directory (x:\windows\system or x:\winnt\system32). |
| 97 | Check your destop resolution. Most DirectX 6 drivers will only support 16bit and |
| 98 | 32bit color depth. To find out for sure you can check the DirectX Info Viewer in |
| 99 | the SDK. |
| 100 | |
| 101 | |
| 102 | 4) Rendering doesn't look right. |
| 103 | |
| 104 | Sometimes this is because the card doesn't support a feature that that is required. |
| 105 | This is usually due to unsupported alpha functions (test/blend) or texture mapping. |
| 106 | Some cards suffer from too small of an alpha channel. The driver does its best to |
| 107 | fallback on unsupported features. This is not to say the driver may not have a bug(s). |
| 108 | |
| 109 | 5) Textures look bad. |
| 110 | |
| 111 | No mipmapping in this release. |
| 112 | |
| 113 | |
| 114 | Thanks to: |
| 115 | ---------- |
| 116 | |
| 117 | Brian Paul |
| 118 | |
| 119 | |
| 120 | |
| 121 | |
| 122 | Leigh McRae (leigh@altsoftware.com) |
| 123 | February 9, 1999 |
| 124 | |