- Mesa 6.3 DOS/DJGPP Port v1.7
+ Mesa 6.5 DOS/DJGPP Port v1.8
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Description:
~~~~~~~~~~~~
-Well, guess what... this is the DOS port of Mesa 6.3, for DJGPP fans... Whoa!
-The driver has its origins in ddsample.c, written by Brian Paul and found by me
-in Mesa 3.4.2.
+Well, guess what... this is the DOS port of Mesa 6.5, for DJGPP fans... Whoa!
+The driver uses OSMesa to draw off screen, and then blits the buffer. This is
+not terribly efficient, and has some drawbacks, but saves maintenance costs.
Legal:
~~~~~~
-Mesa copyright applies, provided this package is used within Mesa. For anything
-else, see GPL.
+Mesa copyright applies.
Environment variables:
CPU optimize for the given processor.
default = pentium
- GLU=[mesa|sgi] specify GLU directory; can be `sgi' (requires GNU/C++)
- or `mesa'.
- default = mesa
GLIDE path to Glide3 SDK; used with FX.
default = $(TOP)/glide3
FX=1 build for 3dfx Glide3. Note that this disables
Tested on:
- CPU: AMD Athlon XP 1800+
- Mainboard: GA-7VTXE w/ 512 MB DDRAM
- Video card: Voodoo5 6000 AGP w/ 128 MB SDRAM
- DJGPP: djdev 2.04 + gcc v3.4.3 + make v3.80
- OS: DOS and Win98SE
+ Video card: Radeon 9500
+ DJGPP: djdev 2.04 + gcc v4.1.0 + make v3.80
+ OS: DOS, Win98SE, WinXP (using Videoport driver)
Q) DMesa is so SLOOOW! The Win32 OpenGL performs so much better...
A) Is that a question? If you have a 3dfx Voodoo (any model), you're
lucky (check http://sourceforge.net/projects/glide for the DJGPP port).
- If you haven't, sorry; everything is done in software. Suggestions?
+ If you haven't, sorry; everything is done in software.
Q) I tried to set refresh rate w/ DMesa, but without success.
A) Refresh rate control works only for VESA 3.0 and the 3dfx driver (in
Q) I made a simple application and it does nothing. It exits right away. Not
even a blank screen.
- A) Pure software drivers (VESA/VGA/NUL) support only double-buffered modes.
+ A) Software drivers (VESA/VGA/NUL) must to be constructed as single-buffered
+ visuals. However, DMesaSwapBuffers must be called to get any output.
A) Another weird "feature" is that buffer width must be multiple of 8 (I'm a
lazy programmer and I found that the easiest way to keep buffer handling
at peak performance ;-).
Q) I'm getting a "bad font!" fatal error.
- A) By default, DOS GLUT compiles with GLUT_IMPORT_LIB, to cope with variable
- access inside dynamic modules (same mechanism used for Win32 _DLL). Since
- -DGLUT_IMPORT_LIB affects Mesa's `glut.h', your apps must be compiled the
- same way GLUT was compiled (either with or without defining it). If you
- want to use another `glut.h' when building your own demos, or just don't
- feel happy about this, make sure you remove the line with GLUT_IMPORT_LIB
- from `Mesa/src/glut/dos/Makefile.DJ' before (re)making GLUT. Beware, this
- means you will never EVER be able to safely use `glut.dxe'!
+ A) Always use GLUT_STROKE_* and GLUT_BITMAP_* constants when dealing with
+ GLUT fonts. If you're using `glut.dxe', then make sure GLUT_STROKE_* and
+ GLUT_BITMAP_* are mapped to integer constants, not to the actual font
+ address (same mechanism used for Win32 _DLL).
Q) What is NUL driver good for, if I don't get any output at all?
A) For debugging. The NUL driver is very much like OSMesa. Everything is
v1.7 (???-2005)
+ enabled OpenGL 2.0 support
+ added support for sw texture compression
- * minor rework
- * `glutTimerFunc' now works with heavy callbacks
+ + added FreeGLUT specific functions
+ * no more GLX sources in DOS GLUT
+ * made GLUT timer callbacks less accurate but safer
+
+v1.8 (apr-2006)
+ * killed lots of code, the driver is now a front-end to OSMesa
+ * fixed problem with WinNT (http://www.volny.cz/martin.sulak/)
+ - removed 3dfx Glide3 support (temporarily?)