aboutsummaryrefslogtreecommitdiff
path: root/docs/README.WIN32
diff options
context:
space:
mode:
authorRadosław Kujawa <radoslaw.kujawa@c0ff33.net>2026-07-17 14:54:32 +0200
committerRadosław Kujawa <radoslaw.kujawa@c0ff33.net>2026-07-17 14:54:32 +0200
commit2702c90d7a39fca2a3319c5e915fd290cb31fc70 (patch)
tree283c4d851efef7e3a7cd03ba80c87e2bffcdbb2c /docs/README.WIN32
parent836167945ec2c7ad5acdf0aa17ce35ec1b9428a6 (diff)
Initial import.
Diffstat (limited to 'docs/README.WIN32')
-rw-r--r--docs/README.WIN32108
1 files changed, 108 insertions, 0 deletions
diff --git a/docs/README.WIN32 b/docs/README.WIN32
new file mode 100644
index 0000000..e16ee4b
--- /dev/null
+++ b/docs/README.WIN32
@@ -0,0 +1,108 @@
+File: docs/README.WIN32
+
+Last updated: Oct 01, 2004 - Karl Schultz - kschultz@users.sourceforge.net
+
+Quick Start
+
+Unzip both ZIP files (MesaLib and MesaDemos) into the same directory.
+The libs and demos build separately, so if you do not care about the
+demos, you do not have to unzip that zip file. But if you do, it does
+need to be unzipped into the same directory as the lib zip file because
+the demos depend on the libs.
+
+The build system has been changed to use Microsoft Visual Studio project
+workspaces and projects. Makefiles are no longer shipped or supported, but
+can be generated from the projects using Visual Studio.
+
+The workspace and project files were created with Visual Studio 6, so that
+they can be used with VS6 and so that they can also be imported into VS 7.
+
+Details and Notes
+
+- To build the Mesa libraries, open the Mesa.dsw workspace file
+ in the top directory. You will need to build at least one
+ driver. Currently, only the gdi and osmesa drivers are available.
+ Select one or the other as the active project and build it.
+ If you want glu, select the glu project as active and build that as well.
+
+- Glut is no longer in the Mesa.dsw workspace. It is now built in
+ the demo workspace (see below).
+
+- The build process will create a lib directory in the top directory
+ and will put the following files there as you build them:
+ OPENGL32.LIB, GLU32.LIB, OSMESA32.LIB
+ OPENGL32.DLL, GLU32.DLL, OSMESA32.DLL
+
+- Some users have reported problems building glu with VS7 after importing
+ and converting the VS6 project files. The problem is caused by a custom
+ build step that was put in place to work around a problem with VS6 not
+ recognizing .cc files as C++ source files. It appears that VS7 can be
+ configured to recognize .cc files as C++ files and so it compiles these
+ glu files with the default settings, and does not use settings that are
+ required to compile the files correctly. The easiest way to solve the
+ problem is to remove the .cc files from the glu project. This does not
+ delete the files, but removes them from the project so that VS does not
+ try to compile them at all. This allows the custom build step to compile
+ the files with the proper settings.
+
+- After building, you can copy the above DLL files to a place in your PATH
+ such as $SystemRoot/SYSTEM32. If you don't like putting things in a
+ system directory, place them in the same directory as the executable(s).
+ Be careful about accidentially overwriting files of the same name in
+ the SYSTEM32 directory.
+
+- Build the demos by opening the appropriate *.dsw file in the
+ progs directory tree. For example, to build the demos, use
+ progs/demos/Windows/demos.dsw. The Windows directory contains
+ the workspace and all the projects for each demo program. Each
+ project places the executable in the same directory as its source
+ code, which is required for some demos.
+
+- The demo projects also copy the Mesa library DLL files from the lib
+ directory into the same directory as the demo executables, so that
+ the demos use the Mesa libs you just built.
+
+- The DLL files are built so that the external entry points use the
+ stdcall calling convention.
+
+- Static LIB files are not built. The LIB files that are built with
+ are the linker import files associated with the DLL files.
+
+- The si-glu sources are used to build the GLU libs. This was done
+ mainly to get the better tessellator code.
+
+- The Windows driver (in src/Windows) builds and runs at least at
+ a minimal level. I modified this driver to work with the new
+ Mesa 4.0 code and driver architecture, but I did not do a great
+ deal of optimization and testing. There are many opportunities
+ for optimization, many of which can be done by coding more specific
+ paths for the rasterizers. See src/osmesa/osmesa.c for some good
+ examples.
+
+- There is DirectDraw support in the Windows driver, updated by
+ Daniel Slater. You'll need to uncomment the #define DDRAW line
+ in src/Windows/wmesadef.h and add ddraw.lib to the list of libraries.
+ On some systems, you will acheive significantly higher framerates
+ with DirectDraw.
+
+- Some of the more specialized code like FX drivers, stereo, and
+ parallel support isn't compiled or tested. I left much of this
+ code alone, but it may need some work to get it 'turned on' again.
+
+- No assembly code is compiled or assembled. Again, this may need
+ some work to turn it back on or use it again.
+
+- To build "mangled" Mesa, add the preprocessor define USE_MGL_NAMESPACE
+ to the project settings. You will also need to edit src/mesa.def to change
+ all the gl* symbols to mgl*. Because this is easy to do with a global
+ replace operation in a text editor, no additional mangled version of mesa.def
+ is maintained or shipped.
+
+If you have a Windows-related build problem or question, it is
+probably better to direct it to me (kschultz@users.sourceforge.net),
+rather than directly to the other Mesa developers. I will help you
+as much as I can. I also monitor the Mesa mailing lists and will
+answer questions in this area there as well.
+
+
+Karl Schultz