Karl Schultz | b5bfe2f | 2001-10-15 20:38:12 +0000 | [diff] [blame] | 1 | File: docs/README.WIN32 |
| 2 | |
Karl Schultz | e4b40a7 | 2003-09-18 19:10:53 +0000 | [diff] [blame^] | 3 | Last updated: Sep 18, 2003 - Karl Schultz - kschultz@users.sourceforge.net |
Karl Schultz | b5bfe2f | 2001-10-15 20:38:12 +0000 | [diff] [blame] | 4 | |
| 5 | Quick Start |
| 6 | |
Karl Schultz | af76b42 | 2002-11-08 18:00:04 +0000 | [diff] [blame] | 7 | Unzip both ZIP files (MesaLib and MesaDemos) into the same directory. |
Karl Schultz | e4b40a7 | 2003-09-18 19:10:53 +0000 | [diff] [blame^] | 8 | The libs and demos build separately, so if you do not care about the |
| 9 | demos, you do not have to unzip that zip file. But if you do, it does |
| 10 | need to be unzipped into the same directory as the lib zip file because |
| 11 | the demos depend on the libs. |
Karl Schultz | af76b42 | 2002-11-08 18:00:04 +0000 | [diff] [blame] | 12 | |
Karl Schultz | e4b40a7 | 2003-09-18 19:10:53 +0000 | [diff] [blame^] | 13 | The build system has been changed to use Microsoft Visual Studio project |
| 14 | workspaces and projects. Makefiles are no longer shipped or supported, but |
| 15 | can be generated from the projects using Visual Studio. |
Karl Schultz | b5bfe2f | 2001-10-15 20:38:12 +0000 | [diff] [blame] | 16 | |
| 17 | Details and Notes |
| 18 | |
Karl Schultz | e4b40a7 | 2003-09-18 19:10:53 +0000 | [diff] [blame^] | 19 | - To build the Mesa libraries, open the Mesa.dsw workspace file |
| 20 | in the top directory. You can build each project one-by-one, |
| 21 | or build the glut project to build everything except osmesa, |
| 22 | which needs to be built separately. The build process will |
| 23 | create a lib directory in the top directory and will put the |
| 24 | following files there: |
| 25 | OPENGL32.LIB, GLU32.LIB, GLUT32.LIB, OSMESA32.LIB |
| 26 | OPENGL32.DLL, GLU32.DLL, GLUT32.DLL, OSMESA32.DLL |
Karl Schultz | b5bfe2f | 2001-10-15 20:38:12 +0000 | [diff] [blame] | 27 | |
| 28 | - After building, you can copy the above DLL files to a place in your PATH |
Karl Schultz | 1073066 | 2002-08-15 15:13:31 +0000 | [diff] [blame] | 29 | such as $SystemRoot/SYSTEM32. If you don't like putting things in a |
| 30 | system directory, place them in the same directory as the executable(s). |
Karl Schultz | e4b40a7 | 2003-09-18 19:10:53 +0000 | [diff] [blame^] | 31 | Be careful about accidentially overwriting files of the same name in |
| 32 | the SYSTEM32 directory. |
Karl Schultz | b5bfe2f | 2001-10-15 20:38:12 +0000 | [diff] [blame] | 33 | |
Karl Schultz | e4b40a7 | 2003-09-18 19:10:53 +0000 | [diff] [blame^] | 34 | - Build the demos by opening the appropriate *.dsw file in the |
| 35 | progs directory tree. For example, to build the demos, use |
| 36 | progs/demos/Windows/demos.dsw. The Windows directory contains |
| 37 | the workspace and all the projects for each demo program. Each |
| 38 | project places the executable in the same directory as its source |
| 39 | code, which is required for some demos. |
Karl Schultz | b5bfe2f | 2001-10-15 20:38:12 +0000 | [diff] [blame] | 40 | |
Karl Schultz | e4b40a7 | 2003-09-18 19:10:53 +0000 | [diff] [blame^] | 41 | - The demo projects also copy the Mesa library DLL files from the lib |
| 42 | directory into the same directory as the demo executables, so that |
| 43 | the demos use the Mesa libs you just built. |
Karl Schultz | b5bfe2f | 2001-10-15 20:38:12 +0000 | [diff] [blame] | 44 | |
| 45 | - The DLL files are built so that the external entry points use the |
| 46 | stdcall calling convention. |
| 47 | |
| 48 | - Static LIB files are not built. The LIB files that are built with |
Karl Schultz | e4b40a7 | 2003-09-18 19:10:53 +0000 | [diff] [blame^] | 49 | are the linker import files associated with the DLL files. |
Karl Schultz | b5bfe2f | 2001-10-15 20:38:12 +0000 | [diff] [blame] | 50 | |
| 51 | - The si-glu sources are used to build the GLU libs. This was done |
Karl Schultz | 8ff2715 | 2001-11-29 16:55:37 +0000 | [diff] [blame] | 52 | mainly to get the better tessellator code. |
Karl Schultz | b5bfe2f | 2001-10-15 20:38:12 +0000 | [diff] [blame] | 53 | |
| 54 | - The osmesa driver builds and should work on Windows as well as |
| 55 | any other platform. |
| 56 | |
| 57 | - The Windows driver (in src/Windows) builds and runs at least at |
| 58 | a minimal level. I modified this driver to work with the new |
| 59 | Mesa 4.0 code and driver architecture, but I did not do a great |
| 60 | deal of optimization and testing. There are many opportunities |
| 61 | for optimization, many of which can be done by coding more specific |
| 62 | paths for the rasterizers. See src/osmesa/osmesa.c for some good |
| 63 | examples. |
| 64 | |
Karl Schultz | acf0c0a | 2001-11-01 22:44:47 +0000 | [diff] [blame] | 65 | - There is DirectDraw support in the Windows driver, updated by |
| 66 | Daniel Slater. You'll need to uncomment the #define DDRAW line |
Karl Schultz | e4b40a7 | 2003-09-18 19:10:53 +0000 | [diff] [blame^] | 67 | in src/Windows/wmesadef.h and add ddraw.lib to the list of libraries. |
| 68 | On some systems, you will acheive significantly higher framerates |
| 69 | with DirectDraw. |
Karl Schultz | b5bfe2f | 2001-10-15 20:38:12 +0000 | [diff] [blame] | 70 | |
| 71 | - Some of the more specialized code like FX drivers, stereo, and |
| 72 | parallel support isn't compiled or tested. I left much of this |
| 73 | code alone, but it may need some work to get it 'turned on' again. |
| 74 | |
| 75 | - No assembly code is compiled or assembled. Again, this may need |
| 76 | some work to turn it back on or use it again. |
| 77 | |
| 78 | If you have a Windows-related build problem or question, it is |
| 79 | probably better to direct it to me (kschultz@users.sourceforge.net), |
| 80 | rather than directly to the other Mesa developers. I will help you |
| 81 | as much as I can. I also monitor the Mesa mailing lists and will |
| 82 | answer questions in this area there as well. |
| 83 | |
| 84 | |
| 85 | Karl Schultz |