renumber ARB_shader_objects and ARB_vertex_shader offsets
[mesa.git] / docs / README.DJ
index 95eb43c584fe01acea24b5e1149785ef4439f5ab..4b086cc4e5a36cb9bce951d29bc980230dbfbc6d 100644 (file)
@@ -1,4 +1,4 @@
-                       Mesa 6.0 DOS/DJGPP Port v1.5
+                       Mesa 6.3 DOS/DJGPP Port v1.7
                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
@@ -6,7 +6,7 @@
 Description:
 ~~~~~~~~~~~~
 
-Well, guess what... this is the DOS port of Mesa 6.0, for DJGPP fans... Whoa!
+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.
 
@@ -42,15 +42,7 @@ Available options:
                        As a consequence, you'll need the DJGPP Glide3
                        library to build any application.
                        default = no
-       HAVE_X86=1      optimize for i386.
-                       default = no
-       HAVE_MMX=1      allow MMX specializations, provided your assembler
-                       supports MMX instruction set. However, the true CPU
-                       capabilities are checked at run-time to avoid lockups.
-                       default = no
-       HAVE_SSE=1      (see HAVE_MMX)
-                       default = no
-       HAVE_3DNOW=1    (see HAVE_MMX)
+       X86=1           optimize for x86 (if possible, use MMX, SSE, 3DNow).
                        default = no
 
      Targets:
@@ -100,7 +92,7 @@ FAQ:
 2. Using Mesa for DJGPP
 
    Q) DMesa is so SLOOOW! The Win32 OpenGL performs so much better...
-   A) Is that a question? If you have a 3dfx Voodoo^2 or higher card, you're
+   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?
 
@@ -111,11 +103,28 @@ FAQ:
 
    Q) I made a simple application and it does nothing. It exits right away. Not
       even a blank screen.
-   A) The pure software drivers (VESA/VGA) support only double-buffered modes.
+   A) Pure software drivers (VESA/VGA/NUL) support only double-buffered modes.
    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'!
+
+   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
+      done just the same as VESA/VGA drivers, only it doesn't touch your video
+      hardware. You can query the actual buffer by issuing:
+       DMesaGetIntegerv(DMESA_GET_BUFFER_ADDR, &buffer);
+      and dump it to a file.
+
    Q) How do I query for a list of available video modes to choose as a visual?
    A) This is an ugly hack, for which I'm sure I'll burn in hell.
       First, query for a list of modes:
@@ -125,7 +134,7 @@ FAQ:
        struct {
                int xres, yres;
                int bpp;
-       } **l = malloc(n * sizeof(void **));
+       } **l = malloc(n * sizeof(void *));
       Now pass the newly allocated buffer to fill in:
        DMesaGetIntegerv(DMESA_GET_VIDEO_MODES, (GLint *)l);
       And collect the info:
@@ -179,7 +188,11 @@ chosen in such a way that first window will fit. If you need high resolution
 with small windows, set initial position far to the right (or way down); then
 you can move them back to any position right before the main loop.
 
-The following environment variables can customize GLUT behaviour:
+
+
+Environment variables:
+~~~~~~~~~~~~~~~~~~~~~~
+       DMESA_NULDRV            - (any value) force NUL driver
        GLUT_FPS                - print frames/second statistics to stderr
        DMESA_GLUT_REFRESH      - set vertical screen refresh rate (VESA3)
        DMESA_GLUT_BPP          - set default bits per pixel (VGA needs 8)
@@ -237,11 +250,22 @@ v1.5 (jan-2004)
        - removed Matrox Millennium MGA2064W driver
        x more changes to the 3dfx driver
 
+v1.6 (aug-2004)
+       + implemented NUL driver
+       + added DMesaGetProcAddress and glutGetProcAddress
+       * reorganized fxMesa wrapper to handle multiple contexts
+       ! fixed a horrible bug in VGA initialization routine
+       ! fixed partial clears
+
+v1.7 (???-2004)
+       + enabled OpenGL 2.0 support
+       + added support for sw texture compression
+
 
 
 Contact:
 ~~~~~~~~
 
-Name:   Borca Daniel
+Name:   Daniel Borca
 E-mail: dborca@users.sourceforge.net
 WWW:    http://www.geocities.com/dborca/