Drop documentation references for deleted backends
Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
830
docs/README.3DFX
830
docs/README.3DFX
@@ -1,830 +0,0 @@
|
||||
|
||||
3Dfx Glide device driver
|
||||
|
||||
|
||||
|
||||
Requirements:
|
||||
-------------
|
||||
|
||||
A Voodoo-based videocard/accelerator
|
||||
DOS (with DJGPP), Windows9x/2k (with MinGW), Linux
|
||||
Glide3x library for your OS
|
||||
|
||||
http://sourceforge.net/projects/glide/
|
||||
|
||||
|
||||
|
||||
How to compile:
|
||||
---------------
|
||||
|
||||
DJGPP:
|
||||
Place the Glide3 SDK in the top Mesa directory:
|
||||
$(MESA)/glide3/include/
|
||||
3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h
|
||||
$(MESA)/glide3/lib/
|
||||
libgld3x.a, libgld3i.a, glide3x.dxe
|
||||
Type:
|
||||
make -f Makefile.DJ X86=1 FX=1
|
||||
Look into the makefile for further information.
|
||||
|
||||
MinGW:
|
||||
Place the Glide3 SDK in the top Mesa directory:
|
||||
$(MESA)/glide3/include/
|
||||
3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h
|
||||
$(MESA)/glide3/lib/
|
||||
libglide3x.a, glide3x.dll
|
||||
Type:
|
||||
make -f Makefile.mgw X86=1 FX=1
|
||||
Look into the makefile for further information.
|
||||
|
||||
Linux:
|
||||
Place the Glide3 SDK in /usr/local/glide
|
||||
/usr/local/glide/include/
|
||||
3dfx.h, g3ext.h, glide.h, glidesys.h, glideutl.h, sst1vid.h
|
||||
/usr/local/glide/lib/
|
||||
libglide3x.a, libglide3x.so
|
||||
Type:
|
||||
make linux-glide
|
||||
or
|
||||
make linux-x86-glide
|
||||
|
||||
|
||||
|
||||
Compilation defines:
|
||||
--------------------
|
||||
|
||||
FX_DEBUG
|
||||
enable driver debug code
|
||||
FX_TRAP_GLIDE
|
||||
enable Glide trace code
|
||||
FX_PACKEDCOLOR
|
||||
use packed color in vertex structure
|
||||
FX_TC_NAPALM
|
||||
map GL_COMPRESSED_RGB[A] to FXT1. Works with VSA100-based cards only.
|
||||
FX_COMPRESS_S3TC_AS_FXT1_HACK
|
||||
map S3TC to FXT1
|
||||
FX_RESCALE_BIG_TEXURES_HACK
|
||||
fake textures larger than HW can support
|
||||
(see MESA_FX_MAXLOD environment variable)
|
||||
|
||||
|
||||
|
||||
Environment variables:
|
||||
----------------------
|
||||
|
||||
The following environment variables affect MesaFX. Those that affect Glide
|
||||
only, are beyond the scope of this section. Entries that don't have a "Value"
|
||||
field, can have any value whatsoever
|
||||
ex: set MESA_FX_IGNORE_CMBEXT=y
|
||||
|
||||
"Note" (*) means that the environment variable affects Glide, too; also, if
|
||||
the var is not found in the environment, it is searched in windoze registry.
|
||||
"Note" (!) means that the environment variable is not working as expected;
|
||||
may have undefined effects, might have effects only at Glide level or might
|
||||
not have any effect whatsoever. Caveat emptor! Those are to be revised soon.
|
||||
|
||||
It is recommended to leave the envvars alone, so that Mesa/Glide will run with
|
||||
default values. Use them only when you experience crashes or strange behavior.
|
||||
|
||||
FX_GLIDE_NUM_TMU
|
||||
OS: all
|
||||
HW: dual-TMU cards (Voodoo2, Avenger, Napalm)
|
||||
Desc: force single-TMU
|
||||
Note: (*)
|
||||
Value: "1"
|
||||
FX_GLIDE_SWAPPENDINGCOUNT
|
||||
OS: all
|
||||
HW: all
|
||||
Desc: max # of buffers allowed to build up
|
||||
Note: (*) (!)
|
||||
Value: "0", "1", "2", "3", "4", "5" or "6"
|
||||
FX_GLIDE_SWAPINTERVAL
|
||||
OS: all
|
||||
HW: all
|
||||
Desc: number of vertical retraces to wait before swapping
|
||||
Note: (*) (!) works only at Glide-level?
|
||||
SSTH3_SLI_AA_CONFIGURATION
|
||||
OS: all
|
||||
HW: VSA100-based cards
|
||||
Desc: SLI/AA setup
|
||||
Note: (*) (!) works only at Glide-level?
|
||||
Value:
|
||||
1, 2, 4 chip cards
|
||||
"0" - SLI & AA disable
|
||||
"1" - SLI disabled, 2 sample AA enabled
|
||||
2, 4 chip cards
|
||||
"2" - 2-way SLI enabled, AA disabled
|
||||
"3" - 2-way SLI enabled, 2 sample AA enabled
|
||||
"4" - SLI disabled, 4 sample AA enabled
|
||||
4 chip cards
|
||||
"5" - 4-way SLI enabled, AA disabled
|
||||
"6" - 4-way SLI enabled, 2 sample AA enabled
|
||||
"7" - 2-way SLI enabled, 4 sample AA enabled
|
||||
"8" - SLI disabled, 8 sample AA enabled
|
||||
SST_DUALHEAD
|
||||
OS: win32
|
||||
HW: ?
|
||||
Desc: ?
|
||||
Note: (!) disabled?
|
||||
MESA_FX_NO_SIGNALS
|
||||
OS: linux
|
||||
HW: all
|
||||
Desc: avoid installing signals
|
||||
Note: (!) untested!
|
||||
MESA_FX_INFO
|
||||
OS: all
|
||||
HW: all
|
||||
Desc: verbose to stderr
|
||||
Value: any; special value "r" to redirect stderr to MESA.LOG
|
||||
MESA_FX_NOSNAP
|
||||
OS: all
|
||||
HW: Voodoo1, Rush, Banshee
|
||||
Desc: do not snap vertices inside Mesa
|
||||
Note: to be used with Glide3x that snaps vertices internally
|
||||
MESA_FX_POINTCAST
|
||||
OS: all
|
||||
HW: dual-TMU cards (some Voodoo1, Voodoo2, Avenger, Napalm)
|
||||
Desc: try to use pointcast palette
|
||||
Note: may give adverse effects on UMA cards (Avenger, Napalm)
|
||||
MESA_FX_IGNORE_PALEXT
|
||||
OS: all
|
||||
HW: all
|
||||
Desc: disable 6666 palette
|
||||
MESA_FX_IGNORE_PIXEXT
|
||||
OS: all
|
||||
HW: Napalm
|
||||
Desc: force 565 16bpp mode (traditional Voodoo, no 32/15bpp)
|
||||
MESA_FX_IGNORE_TEXFMT
|
||||
OS: all
|
||||
HW: Napalm
|
||||
Desc: disable 32bit textures
|
||||
MESA_FX_IGNORE_CMBEXT
|
||||
OS: all
|
||||
HW: Napalm
|
||||
Desc: disable Napalm combiners (color/alpha/texture)
|
||||
Note: this option allows dual-TMU cards perform single-pass
|
||||
trilinear, but some advanced (multi)texturing modes
|
||||
won't work (GL_EXT_texture_env_combine)
|
||||
MESA_FX_IGNORE_MIREXT
|
||||
OS: all
|
||||
HW: all
|
||||
Desc: disable mirror extension
|
||||
MESA_FX_IGNORE_TEXUMA
|
||||
OS: all
|
||||
HW: all
|
||||
Desc: disable UMA
|
||||
MESA_FX_IGNORE_TEXUS2
|
||||
OS: all
|
||||
HW: all
|
||||
Desc: disable Texus2
|
||||
MESA_FX_MAXLOD
|
||||
OS: all
|
||||
HW: non VSA-100 cards
|
||||
Desc: enable large texture support using SW rescaling
|
||||
Value:
|
||||
"9" - 512x512 textures
|
||||
"10" - 1024x1024 textures
|
||||
"11" - 2048x2048 textures
|
||||
MESA_FX_ALLOW_VP
|
||||
OS: all
|
||||
HW: all
|
||||
Desc: allow vertex program extensions
|
||||
MESA_GLX_FX
|
||||
OS: linux
|
||||
HW: Voodoo1, Rush, Voodoo2
|
||||
Desc: display mode
|
||||
Note: (!) experimental
|
||||
Value:
|
||||
"w" - windowed mode
|
||||
"f" - fullscreen mode
|
||||
"d" - disable glide driver
|
||||
OS: win32
|
||||
HW: Rush, Banshee, Avenger, Napalm
|
||||
Desc: display mode
|
||||
Note: (!) experimental
|
||||
Value:
|
||||
"w" - windowed mode
|
||||
|
||||
|
||||
|
||||
Contact:
|
||||
--------
|
||||
|
||||
Daniel Borca <dborca 'at' users 'dot' sourceforge 'dot' net>
|
||||
Hiroshi Morii <koolsmoky 'at' users 'dot' sourceforge 'dot' net>
|
||||
|
||||
|
||||
|
||||
WARNING! The info below this line is outdated (yet some of it useful). WARNING!
|
||||
*******************************************************************************
|
||||
|
||||
|
||||
|
||||
Info for Mesa 4.1
|
||||
-----------------
|
||||
|
||||
The 3dfx Glide driver in Mesa is disabled by default. Not too many people
|
||||
use this driver anymore and at some point down the road it will be dropped.
|
||||
|
||||
To use/enable the Glide driver either do this:
|
||||
|
||||
'./configure --with-glide=DIR' Where DIR is the location of Glide, like
|
||||
/usr/ or /usr/local
|
||||
|
||||
OR
|
||||
|
||||
'make linux-x86-glide' If using the old-style Makefile system.
|
||||
|
||||
The rest of this file hasn't changed since Mesa 3.3. Some of it's out of
|
||||
date, but some is still valid.
|
||||
|
||||
|
||||
|
||||
What do you need ?
|
||||
------------------
|
||||
|
||||
- A PC with a 3Dfx Voodoo1/2 Graphics or Voodoo Rush based board
|
||||
(Pure3D, Monster 3D, R3D, Obsidian, Stingray 128/3D, etc.).
|
||||
The Quantum3D Obsidian3D-2 X-24 requires some special env. setting
|
||||
under Linux (more information in the "Useful Glide Environment
|
||||
Variables");
|
||||
|
||||
- The 3Dfx Glide library 2.3 or later for your OS (the 2.4 works fine).
|
||||
The Voodoo2 requires the Glide library 2.51. The Glide 3.1 is not
|
||||
compatible with the Glide 2.x so it doesn't work with the current
|
||||
version of the driver;
|
||||
|
||||
- A compiler supported by the Glide library (Micro$oft VC++ (tested),
|
||||
Watcom (tested), GCC for Linux (tested), etc.);
|
||||
|
||||
- It's nice to have two monitors - one for your normal graphics
|
||||
card and one for your 3Dfx card. If something goes wrong with
|
||||
an application using the 3Dfx hardware you can still see your
|
||||
normal screen in order to recover.
|
||||
|
||||
|
||||
|
||||
Tested on:
|
||||
----------
|
||||
Windows 95 - David Bucciarelli
|
||||
Windows NT - Henri Fousse
|
||||
MS-DOS
|
||||
Linux - Daryll Strauss, Brian Paul, David Bucciarelli
|
||||
FreeBSD
|
||||
BeOS - Duncan Wilcox
|
||||
MacOS - Fazekas Miklos
|
||||
|
||||
|
||||
What is able to do ?
|
||||
--------------------
|
||||
|
||||
- It is able accelerate points, lines and polygon with flat
|
||||
shading, gouraud shading, Z-buffer, texture mapping, blending, fog and
|
||||
antialiasing (when possible). There is also the support for rendering
|
||||
in a window with a slow trick for the Voodoo Graphics (available only
|
||||
for Linux) and at full speed with the Voodoo Rush chipset.
|
||||
Under Linux is also possible to switch on-the-fly between the fullscreen
|
||||
and in-window rendering hack.
|
||||
There is also the support for using more than one Voodoo Graphics in the
|
||||
some application/PC (you can create one context for each board and use
|
||||
multiple video outputs for driving monitors, videoprojectors or HMDs).
|
||||
The driver is able to fallback to pure software rendering when afeature
|
||||
isn't supported by the Voodoo hardware (however software rendering is
|
||||
very slow compared to hardware supported rendering)
|
||||
|
||||
|
||||
|
||||
How to compile:
|
||||
---------------
|
||||
|
||||
Linux:
|
||||
------
|
||||
Here are the basic steps for using the 3Dfx hardware with Mesa
|
||||
on Linux:
|
||||
|
||||
- You'll need the Glide library and headers. Mesa expects:
|
||||
/usr/local/glide/include/*.h // all the Glide headers
|
||||
/usr/local/glide/lib/libglide2x.so
|
||||
|
||||
If your Glide libraries and headers are in a different directory
|
||||
you'll have to modify the Mesa-config and mklib.glide files.
|
||||
|
||||
- Unpack the MesaLib-3.1.tar.gz and MesaDemos-3.1.tar.gz archives;
|
||||
|
||||
- If you're going to use a newer Mesa/Glide driver than v0.27 then
|
||||
unpack the new driver archive over the Mesa directory.
|
||||
|
||||
- In the Mesa-3.1 directory type "make linux-glide"
|
||||
|
||||
- Compilation _should_ finish without errors;
|
||||
|
||||
- Set your LD_LIBRARY_PATH environment variable so that the
|
||||
libglide2x.so and Mesa library files can be found. For example:
|
||||
setenv LD_LIBRARY_PATH "/usr/local/glide/lib:/SOMEDIR/Mesa-3.1/lib"
|
||||
|
||||
- You'll have to run Glide-based programs as root or set the suid
|
||||
bit on executables;
|
||||
|
||||
- Try a demo:
|
||||
cd gdemos
|
||||
su
|
||||
setenv MESA_GLX_FX f
|
||||
./gears (hit ESC to exit)
|
||||
|
||||
- You can find the demos especially designed for the Voodoo driver in
|
||||
in the Mesa-3.1/3Dfx/demos directory (type "make" in order to compile
|
||||
everything).
|
||||
|
||||
MacOS:
|
||||
------
|
||||
Check the WEB page at http://valerie.inf.elte.hu/~boga/Mesa.html
|
||||
|
||||
MS Windows:
|
||||
-----------
|
||||
|
||||
For the MSVC++:
|
||||
- The glide2x.lib have to be in the default MSVC++ lib directory;
|
||||
|
||||
- The Glide headers have to be in the default MSVC++ include directory;
|
||||
|
||||
- You must have the vcvars32.bat script in your PATH;
|
||||
|
||||
- Go to the directory Mesa-3.1 and run the mesafx.bat;
|
||||
|
||||
- The script will compile everything (Mesa-3.1/lib/OpenGL32.{lib,dll},
|
||||
Mesa-3.1/lib/GLU32.{lib,dll}, Mesa-3.1/lib/GLUT32.{lib,dll} and
|
||||
Voodoo demos);
|
||||
|
||||
- At the end, you will be in the Mesa-3.1/3Dfx/demos directory;
|
||||
|
||||
- Try some demo (fire.exe, teapot.exe, etc.) in order to check if
|
||||
everything is OK (you can use Alt-Tab or Ctrl-F9 to switch between
|
||||
the Voodoo screen and the windows desktop);
|
||||
|
||||
- Remember to copy the Mesa OpenGL32.dll, GLU32.dll and GLUT32.dll in the
|
||||
some directory were you run your Mesa based applications.
|
||||
|
||||
- I think that you can easy change the Makefile.fx files in order
|
||||
to work with other kind of compilers;
|
||||
|
||||
- To discover how open the 3Dfx screen, read the sources under
|
||||
the Mesa-3.1/3Dfx/demos directory. You can use the GLUT library or
|
||||
the Diego Picciani's wgl emulator.
|
||||
|
||||
NOTE: the MSVC++ 5.0 optimizer is really buggy. Also if you install the
|
||||
SP3, you could have some problem (you can disable optimization in order
|
||||
solve these kind of problems).
|
||||
|
||||
|
||||
Doing more with Mesa & Linux Glide:
|
||||
-----------------------------------
|
||||
|
||||
The MESA_GLX_FX environment variable can be used to coax most
|
||||
GLX-based programs into using Glide (and the __GLUT library
|
||||
is GLX-based__).
|
||||
|
||||
Full-screen 3Dfx rendering:
|
||||
---------------------------
|
||||
|
||||
1. Set the MESA_GLX_FX variable to "fullscreen":
|
||||
|
||||
ksh:
|
||||
export MESA_GLX_FX = "fullscreen"
|
||||
csh:
|
||||
setenv MESA_GLX_FX fullscreen
|
||||
|
||||
2. As root, run a GLX-based program (any GLUT demo on Linux).
|
||||
|
||||
3. Be careful: once the 3Dfx screen appears you won't be able
|
||||
to see the GLUT windows on your X display. This can make using
|
||||
the mouse tricky! One solution is to hook up your 3Dfx card to
|
||||
a second monitor. If you can do this then set these env vars
|
||||
first:
|
||||
|
||||
setenv SST_VGA_PASS 1
|
||||
setenv SST_NOSHUTDOWN
|
||||
|
||||
or for the Voodoo2:
|
||||
|
||||
setenv SSTV2_VGA_PASS 1
|
||||
setenv SSTV2_NOSHUTDOWN
|
||||
|
||||
Rendering into an X window with the help of the Voodoo hardware:
|
||||
----------------------------------------------------------------
|
||||
|
||||
1. Start your X server in 16 bpp mode (XFree86: startx -- -bpp 16)
|
||||
in order to have the best performance and the best visual
|
||||
quality. However you can use any visual depth supported by X.
|
||||
|
||||
2. Set the following environment variables:
|
||||
export MESA_GLX_FX="window" # to enable window rendering
|
||||
export SST_VGA_PASS=1 # to stop video signal switching
|
||||
export SST_NOSHUTDOWN=1 # to stop video signal switching
|
||||
OR
|
||||
setenv MESA_GLX_FX window
|
||||
setenv SST_VGA_PASS 1
|
||||
setenv SST_NOSHUTDOWN 1
|
||||
|
||||
(the Voodoo2 requires to use "SSTV2_" instead "SST_").
|
||||
|
||||
3. As root, try running a GLX-based program
|
||||
|
||||
How does it work? We use the 3Dfx hardware to do rendering then
|
||||
copy the image from the 3Dfx frame buffer into an X window when
|
||||
the SwapBuffers() function is called. The problem with this
|
||||
idea is it's slow. The image must be copied from the 3Dfx frame
|
||||
buffer to main memory then copied into the X window (and when the X
|
||||
visual depth doesn't match the Voodoo framebufffer bit per pixel, it
|
||||
is required also a pixel format translation).
|
||||
|
||||
NOTE: the in-window rendering feature only works with double-buffering.
|
||||
|
||||
|
||||
On the fly switching between in window rendering and full screen rendering
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
The Mesa 2.6 has introduced the capability of switching
|
||||
on-the-fly between the fullscreen/fullspeed rendering and the in-window
|
||||
hack and vice versa. The on-the-fly switching requires a direct support
|
||||
by the application but it is really easy to add. You have to start
|
||||
your X server in 16 bpp mode and to add the following lines to your
|
||||
application:
|
||||
|
||||
#if defined(FX) && define(XMESA)
|
||||
#include <GL/xmesa.h>
|
||||
|
||||
static int fullscreen=1;
|
||||
#endif
|
||||
|
||||
...
|
||||
|
||||
/* In the GLUT keyboard event callback */
|
||||
|
||||
#if defined(FX) && !define(WIN32)
|
||||
case ' ':
|
||||
fullscreen=(!fullscreen);
|
||||
XMesaSetFXmode(fullscreen ? XMESA_FX_FULLSCREEN : XMESA_FX_WINDOW);
|
||||
break;
|
||||
#endif
|
||||
...
|
||||
|
||||
See the 3Dfx/demos/tunnel.c program
|
||||
for an example. You have to set the -DXMESA flag in the Makefile's COPTS
|
||||
to enable it.
|
||||
|
||||
Rendering into an X window with the X11 software driver:
|
||||
--------------------------------------------------------
|
||||
|
||||
Set the MESA_GLX_FX variable to "disable" your GLX-based program will use
|
||||
the X11 software driver (the 3Dfx hardware isn't used at all).
|
||||
|
||||
|
||||
|
||||
Useful Glide Environment Variables:
|
||||
-----------------------------------
|
||||
|
||||
- To disable the 3Dfx logo, set the FX_GLIDE_NO_SPLASH variable.
|
||||
|
||||
- To disable video signal switching:
|
||||
setenv SST_VGA_PASS 1
|
||||
setenv SST_NOSHUTDOWN
|
||||
or for the Voodoo2:
|
||||
setenv SSTV2_VGA_PASS 1
|
||||
setenv SSTV2_NOSHUTDOWN
|
||||
|
||||
- To set the default screen refresh rate:
|
||||
setenv SST_SCREENREFRESH=75
|
||||
|
||||
the supported values are 60, 70, 72, 75, 80, 85, 90, 100, 120.
|
||||
|
||||
- To force the Mesa library to swap buffers as fast as possible,
|
||||
without any vertical blanking synchronization (useful for benchmarks):
|
||||
setenv FX_GLIDE_SWAPINTERVAL 0
|
||||
setenv SST_SWAP_EN_WAIT_ON_VIDSYNC 0
|
||||
|
||||
- You can slight improve the performances of your Voodoo1 board with
|
||||
the following env. var.:
|
||||
setenv SST_FASTMEM 1
|
||||
setenv SST_PCIRD 1
|
||||
setenv SST_GRXCLK 57
|
||||
|
||||
(don't use this setting with the Quantum3D 100SB or with any other
|
||||
SLI configuration: it will hang everything !).
|
||||
The following setting can be used with the Voodoo2:
|
||||
setenv SSTV2_FASTMEM_RAS_READS=1
|
||||
setenv SSTV2_FASTPCIRD=1
|
||||
setenv SSTV2_GRXCLK=95
|
||||
|
||||
- The Quantum3D Obsidian3D-2 X-24 requires some special env. setting
|
||||
in order to work under Linux:
|
||||
|
||||
export SSTV2_FT_CLKDEL=5
|
||||
export SSTV2_TF0_CLKDEL=7
|
||||
export SSTV2_TF1_CLKDEL=7
|
||||
export SSTV2_TF2_CLKDEL=7
|
||||
export SSTV2_SLIM_VIN_CLKDEL=3
|
||||
export SSTV2_SLIM_VOUT_CLKDEL=2
|
||||
export SSTV2_SLIS_VIN_CLKDEL=3
|
||||
export SSTV2_SLIS_VOUT_CLKDEL=2
|
||||
|
||||
(Thanks to Phil Ross for this trick).
|
||||
|
||||
|
||||
|
||||
|
||||
The Mesa/Voodoo Environment Variables:
|
||||
--------------------------------------
|
||||
|
||||
- Only for Windows/Voodoo Rush users, if you define the
|
||||
env. var. MESA_WGL_FX:
|
||||
export MESA_WGL_FX=fullscreen
|
||||
you will get fullscreen rendering;
|
||||
|
||||
- Only for Windows/Voodoo Rush users, if you define the
|
||||
env. var. MESA_WGL_FX:
|
||||
export MESA_WGL_FX=window
|
||||
you will get window rendering (default value);
|
||||
|
||||
- Only for Linux users, you can find more informations about
|
||||
the env. var. MESA_GLX_FX in the "Doing more with Mesa & Linux Glide"
|
||||
section;
|
||||
|
||||
- If you define the env. var. MESA_FX_SWAP_PENDING:
|
||||
export MESA_FX_SWAP_PENDING=4
|
||||
you will able to set the maximum number of swapbuffers
|
||||
commands in the Voodoo FIFO after a swapbuffer (default value: 2);
|
||||
|
||||
- If you define the env. var. MESA_FX_INFO:
|
||||
export MESA_FX_INFO=1
|
||||
you will get some useful statistic.
|
||||
|
||||
- If you define the env. var. MESA_FX_NO_SIGNALS:
|
||||
export MESA_FX_NO_SIGNALS=1
|
||||
Mesa/FX will not install atexit() or signal() handlers.
|
||||
|
||||
|
||||
|
||||
Know BUGS and Problems:
|
||||
-----------------------
|
||||
|
||||
- fog doesn't work in the right way when using the glDepthRange() function;
|
||||
|
||||
- Maximum texture size: 256x256 (this is an hardware limit);
|
||||
|
||||
- Texture border aren't yet supported;
|
||||
|
||||
- A GL_BLEND in a glTexEnv() is not supported (it is an hardware limit);
|
||||
|
||||
- Use the glBindTexture extension (standard in OpenGL 1.1) for texture
|
||||
mapping (the old way: glTexImage inside a display list, download
|
||||
the texture map each time that you call the display list !!!);
|
||||
|
||||
- Stencil buffer and Accumulation buffer are emulated in software (they are not
|
||||
directly supported by the Hardware);
|
||||
|
||||
- Color index mode not implemented (this is an hardware limit);
|
||||
|
||||
- Thre is an know bug in the Linux Glide library so the in-window-rendering hack
|
||||
and any other operations that requires to read the Voodoo frame buffer
|
||||
(like the accumulation buffer support) doesn't work on Voodoo SLI cards.
|
||||
|
||||
- The driver switch to pure software (_slow_) rendering when:
|
||||
|
||||
- Stencil enabled;
|
||||
- Using the Accumulation buffer;
|
||||
- Blend enabled and blend equation != GL_FUNC_ADD_EXT;
|
||||
- Color logic operation enabled and color logic operation != GL_COPY;
|
||||
- Using GL_SEPARATE_SPECULAR_COLOR;
|
||||
- The four values of glColorMask() aren't the some;
|
||||
- Texture 1D or 3D enabled;
|
||||
- Texture function is GL_BLEND;
|
||||
- Using the Multitexture extension with Voodoo cards with only one TMU;
|
||||
- Using the Multitexture extension with Voodoo cards with more than
|
||||
one TMU, and texture function isn't GL_MODULATE;
|
||||
- Point size is != 1.0 or point params vector != (1.0,0.0,0.0);
|
||||
- Line width != 1.0 or using stipple lines.
|
||||
- Using polygon offset or stipple polygons;
|
||||
|
||||
NOTE: this is list is not yet complete.
|
||||
|
||||
|
||||
Hints and Special Features:
|
||||
---------------------------
|
||||
|
||||
- Under Linux and with a Voodoo Graphics board, you can use
|
||||
XMesaSetFXmode(XMESA_FX_FULLSCREEN or XMESA_FX_WINDOW) in order to
|
||||
switch on the fly between fullscreen rendering and the in-window-rendering
|
||||
hack.
|
||||
|
||||
- The driver is able to use all the texture memory available: 2/4MB on
|
||||
Voodoo1 boards and 8MB (!) on high-end Voodoo1 and Voodoo2 boards.
|
||||
|
||||
- Trilinear filtering is fully supported on Voodoo boards with two TMUs
|
||||
(high-end Voodoo1 boards and Voodoo2 boards). When only one TMU is
|
||||
available the driver fallback to bilinear filter also if you ask
|
||||
for trilinear filtering.
|
||||
|
||||
- The Voodoo driver support multiple Voodoo Graphics boards in the
|
||||
some PC. Using this feature, you can write applications that use
|
||||
multiple monitors, videoprojectors or HMDs for the output. See
|
||||
Mesa-3.1/3Dfx/demos/tunnel2.c for an example of how setup one
|
||||
context for each board.
|
||||
|
||||
- The v0.19 introduces a new powerful texture memory manager: the
|
||||
texture memory is used as a cache of the set of all defined texture
|
||||
maps. You can now define several MBs of texture maps also with a 2MB
|
||||
of texture memory (the texture memory manager will do automatically
|
||||
all the swap out/swap in
|
||||
texture memory work). The new texture memory manager has also
|
||||
solved a lot of other bugs/no specs compliance/problems
|
||||
related to the texture memory usage.
|
||||
|
||||
- Use triangles and quads strip: they are a LOT faster than sparse
|
||||
triangles and quads.
|
||||
|
||||
- The Voodoo driver supports the GL_EXT_paletted_texture. it works
|
||||
only with GL_COLOR_INDEX8_EXT, GL_RGBA palettes and the alpha value
|
||||
is ignored because this is a limitation of the current Glide
|
||||
version and of the Voodoo hardware. See Mesa-3.1/3Dfx/demos/paltex.c for
|
||||
a demo of this extension.
|
||||
|
||||
- The Voodoo driver directly supports 3Dfx Global Palette extension.
|
||||
It was written for GLQuake and I think that it isn't a good idea
|
||||
to use this extension for any other purpose (it is a trick). See
|
||||
Mesa-3.1/3Dfx/demos/glbpaltex.c for a demo of this extension.
|
||||
|
||||
- The Voodoo driver chooses the screen resolution according to the
|
||||
requested window size. If you open a 640x480 window, you will get
|
||||
a 640x480 screen resolution, if you open a 800x600 window, you
|
||||
will get a 800x600 screen resolution, etc.
|
||||
Most GLUT demos support the '-geometry' option, so you can choose
|
||||
the screen resolution: 'tunnel -geometry 800x600'.
|
||||
Clearly, you Voodoo board must have enough framebuffer RAM (otherwise
|
||||
the window creation will fail).
|
||||
|
||||
- The glGetString(GL_RENDERER) returns more information
|
||||
about the hardware configuration: "Mesa Glide <version>
|
||||
<Voodoo_Graphics|Voodoo_Rush|UNKNOWN> <num> CARD/<num> FB/
|
||||
<num> TM/<num> TMU/<NOSLI|SLI>"
|
||||
where: <num> CARD is the card used for the current context,
|
||||
<num> FB is the number of MB for the framebuffer,
|
||||
<num> TM is the number of MB for the texture memory,
|
||||
<num> TMU is the number of TMU. You can try to run
|
||||
Mesa/demos/glinfo in order to have an example of the output.
|
||||
|
||||
Did you find a lot BUGs and problems ? Good, send me an email.
|
||||
|
||||
|
||||
|
||||
FAQ:
|
||||
----
|
||||
|
||||
For a complete FAQ check the Bernd Kreimeier's Linux 3Dfx HOWTO
|
||||
available at http://www.gamers.org/dEngine/xf3D (it includes also
|
||||
a lot of informations not strictly related to Linux, so it can be
|
||||
useful also if you don't use Linux)
|
||||
|
||||
1. What is 3Dfx?
|
||||
|
||||
3Dfx Interactive, Inc. is the company which builds the VooDoo 3-D graphics
|
||||
chipset (and others) used in popular PC cards such as the Diamond Monster 3D
|
||||
and the Orchid Righteous 3D (more informations at http://www.3dfx.com).
|
||||
|
||||
|
||||
2. What is Glide?
|
||||
|
||||
Glide is a "thin" programming interface for the 3Dfx hardware. It was
|
||||
originally written for Windows/Intel but has been ported to Linux/Intel
|
||||
by Daryll Strauss.
|
||||
|
||||
3Dfx, Inc. should be applauded for allowing the Linux version of Glide
|
||||
to be written.
|
||||
|
||||
You can directly program with the Glide library if you wish. You can
|
||||
obtain Glide from the "Developer" section of the 3Dfx website: www.3dfx.com
|
||||
There's a Linux/Glide newsgroup at news://news.3dfx.com/3dfx.glide.linux
|
||||
|
||||
|
||||
3. What is fxmesa?
|
||||
|
||||
"fxmesa" is the name of the Mesa device driver for the 3Dfx Glide library.
|
||||
It was written by David Bucciarelli and others. It works on both Linux
|
||||
and Windows. Basically, it allows you to write and run OpenGL-style programs
|
||||
on the 3Dfx hardware.
|
||||
|
||||
|
||||
4. What is GLQuake?
|
||||
|
||||
Quake is a very popular game from id software, Inc. See www.idsoftware.com
|
||||
GLQuake is a version of Quake written for OpenGL. There is now a Linux
|
||||
version of GLQuake with works with the Mesa/3Dfx/Glide combo.
|
||||
|
||||
Here's what you need to run GLQuake on Linux:
|
||||
PC with 100MHz Pentium or better
|
||||
a 3Dfx-based card
|
||||
Mesa 3.1 libraries: libMesaGL.so libMesaGLU.so
|
||||
Glide 2.4 libraries: libglide2x.so libtexus.so
|
||||
GLQuake for Linux.
|
||||
|
||||
Also, the windows version of GLQuake works fine with the Mesa OpenGL32.dll,
|
||||
you have only to copy the Mesa-3.1/lib/OpenGL32.dll in the GLQuake directory
|
||||
in order to test 'MesaQuake'.
|
||||
|
||||
|
||||
5. What is GLUT?
|
||||
|
||||
GLUT is Mark Kilgard's OpenGL Utility Toolkit. It provides an API for
|
||||
writing portable OpenGL programs with support for multiple windows, pop-
|
||||
up menus, event handling, etc.
|
||||
|
||||
Check the Mark's home page for more informations (http://reality.sgi.com/mjk_asd).
|
||||
|
||||
Every OpenGL programmer should check out GLUT.
|
||||
|
||||
GLUT on Linux uses GLX.
|
||||
|
||||
|
||||
6. What is GLX?
|
||||
|
||||
GLX is the OpenGL extension to the X Window System. I defines both a
|
||||
programming API (glX*() functions) and a network protocol. Mesa implements
|
||||
an emulation of GLX on Linux. A real GLX implementation would requires
|
||||
hooks into the X server. The 3Dfx hardware can be used with GLX-based
|
||||
programs via the MESA_GLX_FX environment variable.
|
||||
|
||||
|
||||
7. Is the Voodoo driver able to use the 4Mb texture memory of
|
||||
the Pure3D boards ?
|
||||
|
||||
Yes, the Voodoo driver v0.20 includes the support for Voodoo
|
||||
Graphics boards with more than 2Mb of texture memory.
|
||||
|
||||
|
||||
8. Do the Voodoo driver support the Voodoo Rush under Windows ?
|
||||
|
||||
Yes, Diego Picciani has developed the support for the Voodoo
|
||||
Rush but David Bucciarelli has a Pure3D and a Monster3D and Brian Paul
|
||||
has a Monster3D, so the new versions of the Mesa/Voodoo sometime are
|
||||
not tested with the Voodoo Rush.
|
||||
|
||||
|
||||
9. Do the Voodoo driver support the Voodoo Rush under Linux ?
|
||||
|
||||
No because the Linux Glide doesn't (yet) support the Voodoo Rush.
|
||||
|
||||
|
||||
10. Can I sell my Mesa/Voodoo based software and include
|
||||
a binary copy of the Mesa in order to make the software
|
||||
working out of the box ?
|
||||
|
||||
Yes.
|
||||
|
||||
|
||||
11. Which is the best make target for compiling the Mesa for
|
||||
Linux GLQuake ('make linux-glide', 'make linux-386-glide', etc.) ?
|
||||
|
||||
'make linux-386-opt-glide' for Voodoo1 and 'make linux-386-opt-V2-glide'
|
||||
for Voodoo2 boards because it doesn't include the '-fPIC'
|
||||
option (4-5% faster).
|
||||
|
||||
|
||||
12. Can I use a Mesa compiled with a 'make linux-386-opt-V2-glide'
|
||||
for my applications/programs/demos ?
|
||||
|
||||
Yes, there is only one constrain: you can't run two Mesa applications
|
||||
at the some time. This isn't a big issue with the today Voodoo Graphics.
|
||||
|
||||
|
||||
Thanks to:
|
||||
----------
|
||||
|
||||
Henri Fousse (he has written several parts of the v0.15 and the old GLUT
|
||||
emulator for Win);
|
||||
|
||||
Diego Picciani (he has developed all the Voodoo Rush support and the wgl
|
||||
emulator);
|
||||
|
||||
Daryll Strauss (for the Linux Glide and the first Linux support);
|
||||
|
||||
Brian Paul (of course);
|
||||
|
||||
Dave 'Zoid' Kirsch (for the Linux GLQuake and Linux Quake2test/Q2 ports)
|
||||
|
||||
Bernd Kreimeier (for the Linux 3Dfx HOWTO and for pushing companies to offer
|
||||
a better Linux support)
|
||||
|
||||
3Dfx and Quantum3D (for actively supporting Linux)
|
||||
|
||||
The most update places where find Mesa VooDoo driver related informations are
|
||||
the Mesa mailing list and my driver WEB page
|
||||
(http://www-hmw.caribel.pisa.it/fxmesa/index.shtml)
|
||||
|
||||
|
||||
David Bucciarelli (davibu@tin.it)
|
||||
|
||||
Humanware s.r.l.
|
||||
Via XXIV Maggio 62
|
||||
Pisa, Italy
|
||||
Tel./Fax +39-50-554108
|
||||
email: info.hmw@plus.it
|
||||
www: www-hmw.caribel.pisa.it
|
@@ -1,181 +0,0 @@
|
||||
AMIGA AMIWIN PORT of MESA: THE OPENGL SOFTWARE EMULATION
|
||||
========================================================
|
||||
Port by Victor Ng-Thow-Hing (victorng@dgp.toronto.edu)
|
||||
Original Author (Brian Paul (brianp@ssec.wisc.edu)
|
||||
|
||||
Dec.1 , 1995: Port of release Mesa 1.2.5
|
||||
- Modifications made to minimize changes to Mesa distribution.
|
||||
|
||||
Nov.25, 1995: Port of release Mesa 1.2.4
|
||||
|
||||
|
||||
HISTORY
|
||||
=======
|
||||
As a 3D graphics progammer, I was increasingly frustrated to see OpenGL
|
||||
appearing on so many platforms EXCEPT the Amiga. Up to now, the task
|
||||
of porting OpenGL directly from native Amiga drawing routines seemed like
|
||||
a daunting task. However, two important events made this port possible.
|
||||
|
||||
First of all, Brian Paul wrote Mesa, the OpenGL software emulator that
|
||||
can be found on many platforms - except the Amiga and Atari (who cares
|
||||
about the latter!). This was pretty ironic considering that Mesa was
|
||||
originally prototyped on an Amiga! The second great event was when
|
||||
Holger Kruse developed AmiWin, the X11R6 server for the Amiga (definitely
|
||||
register for this great piece of software) and released a development kit
|
||||
so one could compile X programs with SAS/C.
|
||||
|
||||
Since Mesa had X routines as its primitive drawing operations, this made
|
||||
a marriage of Mesa and Amiwin feasible. I copied over the sources from
|
||||
an ftp site, played with the code, wrote some Smakefiles, and voila,
|
||||
I had OpenGL programs displaying on my Amiga.
|
||||
|
||||
Although the speed is nothing to be impressed about, this port can be
|
||||
potentially useful to those who want to quickly test their code in
|
||||
wireframe or perhaps learn more about programming with the OpenGL API.
|
||||
|
||||
I hope Amiga developers will continue to write excellent software for
|
||||
their machine, especially more X clients for Amiwin. If you have any
|
||||
solutions so some of my problems in the porting notes, please send me
|
||||
some email!
|
||||
|
||||
See you around,
|
||||
Vic.
|
||||
|
||||
HOW TO CREATE THE LIBRARIES AND SAMPLE CODE
|
||||
===========================================
|
||||
|
||||
Just run the shell script mklib.amiwin in the mesa directory. This will
|
||||
make all the libraries and copy them into the mesa/lib directory. If you
|
||||
don't want to compile everything, just go to the desired directory and
|
||||
type smake in that directory.
|
||||
|
||||
Change any of the variables in the smakefiles as necessary. You will REQUIRE
|
||||
the Amiwin development kit to compile these libraries since you need X11.LIB
|
||||
and the shareable X libraries. Some examples require the AmiTCP4.0
|
||||
net.lib static link library and related header files for unix related
|
||||
header files and functions like sleep().
|
||||
|
||||
HOW TO USE THE MESA LIBRARIES
|
||||
=============================
|
||||
|
||||
Study the Smakefiles in the demos, samples and book directories for the
|
||||
proper SAS/C options and linkable libraries to use. Basically aux calls
|
||||
require Mesaaux.LIB, gl calls require MesaGL.LIB, glu calls MesaGLU.LIB,
|
||||
tk calls Mesatk.LIB. There is a preliminary port of MesaGLUT.LIB toolkit
|
||||
available in the lib directory with the other Mesa libraries. However,
|
||||
it seems to cause crashes on some of the sample code. Someone else may want
|
||||
to attempt a more stable port.
|
||||
|
||||
PORTING NOTES TO AMIWIN
|
||||
=======================
|
||||
|
||||
My strategy of porting was to leave as much of the code untouched as
|
||||
possible. I surrounded any amiga specific changes with
|
||||
#ifdef AMIWIN ... #endif or #ifndef AMIWIN ... #endif preprocessor
|
||||
symbols. The code was ported on an Amiga 2000, with Fusion 40 accelerator
|
||||
and a Picasso II graphics card. The SAS/C 6.56 compiler was used, with
|
||||
the AmiWin 2.16 X development kit.
|
||||
|
||||
All compilations were done for a 68040 CPU with 68882 math coprocessor for
|
||||
maximum speed. Please edit the smakefile for other compilers.
|
||||
I wrote smakefiles for the directories I ported. I omitted the Windows
|
||||
and Widgets directories. The former is for MS Windows and the latter
|
||||
requires Motif, which is not easily available for the Amiga.
|
||||
|
||||
Here are the changes I did per directory:
|
||||
|
||||
* mesa
|
||||
Nov. 25, 1995 v 1.2.4
|
||||
- added a mklib.amiwin shell script that will make all the libraries and
|
||||
sample code for Mesa
|
||||
- created this readme file: readme.AMIGA
|
||||
|
||||
* mesa/include
|
||||
Dec. 1, 1995 v 1.2.5
|
||||
- added the following to GL/xmesa.h
|
||||
#ifdef AMIWIN
|
||||
#include <pragmas/xlib_pragmas.h>
|
||||
extern struct Library *XLibBase;
|
||||
#endif
|
||||
NET CHANGE: xmesa.h
|
||||
|
||||
* mesa/src
|
||||
Nov. 25, 1995 v 1.2.4
|
||||
- added the necessary pragma calls for X functions to the following:
|
||||
xmesa1.c, xmesa2.c, xmesa3.c, xfonts.c, glx.c
|
||||
This prevents undefined symbols errors during the linking phase for
|
||||
X library calls
|
||||
- created smakefile
|
||||
Dec. 1, 1995 v 1.2.5
|
||||
- removed AMIWIN includes from xmesa1.c, xmesa2.c, xmesa3.c, xfonts.c,
|
||||
glx.c since they are now defined in include/GL/xmesa.h
|
||||
NET CHANGE: smakefile
|
||||
|
||||
* mesa/src-tk
|
||||
Nov. 25, 1995 v 1.2.4
|
||||
- added the necessary pragma calls for X functions to the following:
|
||||
private.h
|
||||
- created smakefile
|
||||
Dec. 1, 1995 v 1.2.5
|
||||
- removed AMIWIN includes from private.h since it is now defined in
|
||||
include/GL/xmesa.h
|
||||
NET CHANGE: smakefile
|
||||
|
||||
* mesa/src-glu
|
||||
Nov. 25, 1995 v 1.2.4
|
||||
- created smakefile
|
||||
NET CHANGE: smakefile
|
||||
|
||||
* mesa/src-aux
|
||||
Nov. 25, 1995 v 1.2.4
|
||||
- added the necessary pragma calls for X functions to the following:
|
||||
glaux.c
|
||||
- created smakefile
|
||||
NET CHANGE: glaux.c, smakefile
|
||||
|
||||
* mesa/demos
|
||||
Nov. 25, 1995 v 1.2.4
|
||||
- added the necessary pragma calls for X functions to the following:
|
||||
xdemo.c, glxdemo.c, offset.c
|
||||
- created smakefile
|
||||
- put #ifndef AMIWIN ... #endif around sleep() calls in xdemo.c since
|
||||
they are not part of AmigaDOS.
|
||||
Dec. 1, 1995 v 1.2.5
|
||||
- removed AMIWIN defines from xdemo.c, glxdemo.c, offset.c since
|
||||
already defined in include/GL/xmesa.h
|
||||
- modified Smakefile to include header and includes from the AmiTCP4.0
|
||||
net.lib linkable library to provide unix-compatible sys/time.h and
|
||||
the sleep() function
|
||||
- removed AMIWIN defines in xdemo.c since sleep() now defined
|
||||
NET CHANGE: smakefile
|
||||
|
||||
* mesa/samples
|
||||
Nov. 25, 1995 v 1.2.4
|
||||
- added the necessary pragma calls for X functions to the following:
|
||||
oglinfo.c
|
||||
- created smakefile
|
||||
- put #ifndef AMIWIN ... #endif around sleep() in blendxor.c
|
||||
- removed olympic from smakefile targets since <sys/time.h> not defined
|
||||
Dec. 1, 1995 v 1.2.5
|
||||
- removed AMIWIN defines from oglinfo.c, since already defined in
|
||||
include/GL/xmesa.h
|
||||
- modified Smakefile to include header and includes from the AmiTCP4.0
|
||||
net.lib linkable library to provide unix-compatible sys/time.h and
|
||||
the sleep() function
|
||||
- removed AMIWIN defines in blendxor.c for sleep()
|
||||
- added AMIWIN defines around _MACHTEN_ in olympic.c since xrandom()
|
||||
functions are not defined in any libraries
|
||||
- added olympic back into the Smakefile targets
|
||||
NET CHANGE: smakefile, olympic.c
|
||||
|
||||
* mesa/book
|
||||
Nov. 25, 1995 v 1.2.4
|
||||
- created smakefile
|
||||
- removed accpersp and dof from smakefile targets since the SAS/C compile seems to
|
||||
confuse the near,far variables with near/far memory models.
|
||||
NET CHANGE: smakefile
|
||||
|
||||
* mesa/windows
|
||||
Dec. 1, 1995 v 1.2.5
|
||||
- Removed directory to save space since this is only needed for Windows based
|
||||
machines.
|
275
docs/README.DJ
275
docs/README.DJ
@@ -1,275 +0,0 @@
|
||||
Mesa 6.5 DOS/DJGPP Port v1.8
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
|
||||
Description:
|
||||
~~~~~~~~~~~~
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
||||
Installation:
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Unzip and type:
|
||||
|
||||
make -f Makefile.DJ [OPTIONS...]
|
||||
|
||||
Available options:
|
||||
|
||||
Environment variables:
|
||||
CPU optimize for the given processor.
|
||||
default = pentium
|
||||
GLIDE path to Glide3 SDK; used with FX.
|
||||
default = $(TOP)/glide3
|
||||
FX=1 build for 3dfx Glide3. Note that this disables
|
||||
compilation of most DMesa code and requires fxMesa.
|
||||
As a consequence, you'll need the DJGPP Glide3
|
||||
library to build any application.
|
||||
default = no
|
||||
X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow).
|
||||
default = no
|
||||
|
||||
Targets:
|
||||
all: build everything
|
||||
libgl: build GL
|
||||
libglu: build GLU
|
||||
libglut: build GLUT
|
||||
clean: remove object files
|
||||
realclean: remove all generated files
|
||||
|
||||
|
||||
|
||||
Tested on:
|
||||
Video card: Radeon 9500
|
||||
DJGPP: djdev 2.04 + gcc v4.1.0 + make v3.80
|
||||
OS: DOS, Win98SE, WinXP (using Videoport driver)
|
||||
|
||||
|
||||
|
||||
FAQ:
|
||||
~~~~
|
||||
|
||||
1. Compilation
|
||||
|
||||
Q) `make' barfs and exits because it cannot find some stupid file.
|
||||
A) You need LFN support.
|
||||
A) When compiling for Glide (FX=1), pay attention to Glide path.
|
||||
|
||||
Q) Libraries built OK, but linker complains about `vsnprintf' every time I
|
||||
compile some demo.
|
||||
A) Upgrade to DJGPP 2.04.
|
||||
A) Add `vsnprintf.c' to the CORE_SOURCES in `src/Makefile.DJ' (untested!).
|
||||
A) Patch `src/mesa/main/imports.c' with the following line:
|
||||
#define vsnprintf(buf, max, fmt, arg) vsprintf(buf, fmt, arg)
|
||||
This hack should be safe in 90% of the cases, but if anything goes wrong,
|
||||
don't come back to me crying.
|
||||
|
||||
Q) `make' complains about DXE3 or something, yet it builds the libraries.
|
||||
A) DXE3 refers to the DJGPP dynamic modules. You'll need either the latest
|
||||
DJGPP distro, or download the separate package from my web page. Read the
|
||||
DXE3 documentation on how to use them.
|
||||
A) When compiling for Glide (FX=1), make sure `glide3x.dxe' can be found in
|
||||
LD_LIBRARY_PATH (or top `lib' directory).
|
||||
|
||||
2. Using Mesa for DJGPP
|
||||
|
||||
Q) Every test I tried crashes badly.
|
||||
A) If you have compiled with SSE and you're running under plain DOS, you
|
||||
have to disable SSE at run-time. See environment variables below.
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
which case FX_GLIDE_REFRESH will be overwritten if it is defined and
|
||||
is not 0).
|
||||
|
||||
Q) I made a simple application and it does nothing. It exits right away. Not
|
||||
even a blank screen.
|
||||
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) 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
|
||||
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:
|
||||
n = DMesaGetIntegerv(DMESA_GET_VIDEO_MODES, NULL);
|
||||
If `n' is strictly positive, you allocate an array of pointers to a given
|
||||
struct (which is guaranteed to be extended only - not changed in future):
|
||||
struct {
|
||||
int xres, yres;
|
||||
int bpp;
|
||||
} **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:
|
||||
for (i = 0; i < n; i++) {
|
||||
printf("%dx%d:%d\n", l[i]->xres, l[i]->yres, l[i]->bpp);
|
||||
}
|
||||
|
||||
Q) The GLUT is incomplete.
|
||||
A) See below.
|
||||
|
||||
|
||||
|
||||
libGLUT (the toolkit):
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Well, this "skeletal" GLUT implementation was taken from AllegGL project and
|
||||
heavily changed. Thanks should go to Bernhard Tschirren, Mark Kilgard, Brian
|
||||
Paul and probably others (or probably not ;-). GLUT functionality will be
|
||||
extended only on an "as needed" basis.
|
||||
|
||||
GLUT talks to hardware via PC_HW package which was put together from various
|
||||
pieces I wrote long time ago. It consists from the keyboard, mouse and timer
|
||||
drivers.
|
||||
|
||||
My keyboard driver used only scancodes; as GLUT requires ASCII values for keys,
|
||||
I borrowed the translation tables (and maybe more) from Allegro -- many thanks
|
||||
to Shawn Hargreaves et co. Ctrl-Alt-Del (plus Ctrl-Alt-End, for Windows users)
|
||||
will shut down the GLUT engine unconditionally: it will raise SIGINT, which in
|
||||
turn will (hopefully) call the destructors, thus cleaning up your/my mess ;-)
|
||||
NB: since the DJGPP guys ensured signal handlers won't go beyond program's
|
||||
space (and since dynamic modules shall) the SIGINT can't be hooked (well, it
|
||||
can, but it is useless), therefore you must live with the 'Exiting due to
|
||||
signal SIGINT' message...
|
||||
|
||||
The mouse driver is far from complete (lack of drawing, etc), but is enough to
|
||||
make almost all the demos work. Supports the CuteMouse WheelAPI.
|
||||
|
||||
The timer is pretty versatile for it supports multiple timers with different
|
||||
frequencies. While not being the most accurate timer in the known universe, I
|
||||
think it's OK. Take this example: you have timer A with a very high rate, and
|
||||
then you have timer B with very low rate compared to A; now, A ticks OK, but
|
||||
timer B will probably loose precision!
|
||||
|
||||
As an addition, stdout and stderr are redirected and dumped upon exit. This
|
||||
means that `printf' can be safely called during graphics. A bit of a hack, I
|
||||
know, because all messages come in bulk, but I think it's better than nothing.
|
||||
"Borrowed" from LIBRHUTI (Robert Hoehne).
|
||||
|
||||
Window creating defaults: (0, 0, 300, 300), 16bpp. However, the video mode is
|
||||
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.
|
||||
|
||||
|
||||
|
||||
Environment variables:
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
DMESA_NULDRV - (any value) force NUL driver
|
||||
GLUT_FPS - print frames/second statistics to stderr
|
||||
MESA_NO_SSE - (any value) safe option under pure DOS
|
||||
DMESA_GLUT_REFRESH - set vertical screen refresh rate (VESA3)
|
||||
DMESA_GLUT_BPP - set default bits per pixel (VGA needs 8)
|
||||
DMESA_GLUT_ALPHA - set default alpha bits (8)
|
||||
DMESA_GLUT_DEPTH - set default depth bits (16)
|
||||
DMESA_GLUT_STENCIL - set default stencil bits (8)
|
||||
DMESA_GLUT_ACCUM - set default accum bits (16)
|
||||
|
||||
|
||||
|
||||
History:
|
||||
~~~~~~~~
|
||||
|
||||
v1.0 (mar-2002)
|
||||
initial release
|
||||
|
||||
v1.1 (sep-2002)
|
||||
+ added 3dfx Glide3 support
|
||||
+ added refresh rate control
|
||||
+ added fonts in GLUT
|
||||
* lots of minor changes
|
||||
|
||||
v1.2 (nov-2002)
|
||||
* synced w/ Mesa-4.1
|
||||
- removed dmesadxe.h
|
||||
|
||||
v1.3 (mar-2003)
|
||||
+ enabled OpenGL 1.4 support
|
||||
+ added MMX clear/blit routines
|
||||
+ enabled SGI's GLU compilation
|
||||
+ added samples makefile
|
||||
+ added new GLUT functions
|
||||
+ added color-index modes
|
||||
+ added Matrox Millennium MGA2064W driver
|
||||
+ added 8bit FakeColor (thanks to Neil Funk)
|
||||
+ added VGA support (to keep Ben Decker happy)
|
||||
! fixed some compilation errors (reported by Chan Kar Heng)
|
||||
* optimized driver for faster callback access... yeah, right :)
|
||||
* overhauled virtual buffer and internal video drivers
|
||||
* better fxMesa integration
|
||||
* revamped GLUT
|
||||
* switched to DXE3
|
||||
|
||||
v1.4 (dec-2003)
|
||||
+ enabled GLUT fonts with DXE
|
||||
+ truly added multi-window support in GLUT (for Adrian Woodward)
|
||||
* accomodated makefiles with the new sourcetree
|
||||
* fixed some ALPHA issues
|
||||
* minor changes to PC_HW/timer interface
|
||||
x hacked and slashed the 3dfx driver (w/ help from Hiroshi Morii)
|
||||
|
||||
v1.5 (jan-2004)
|
||||
+ added interface to query available "visuals" (GLFW - Marcus Geelnard)
|
||||
+ added GLUT timer callback
|
||||
- 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 (???-2005)
|
||||
+ enabled OpenGL 2.0 support
|
||||
+ added support for sw texture compression
|
||||
+ 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?)
|
||||
|
||||
|
||||
|
||||
Contact:
|
||||
~~~~~~~~
|
||||
|
||||
Name: Daniel Borca
|
||||
E-mail: dborca@users.sourceforge.net
|
||||
WWW: http://www.geocities.com/dborca/
|
@@ -1,26 +0,0 @@
|
||||
GGIMesa for LibGGI 2.x
|
||||
|
||||
Requirements:
|
||||
-------------
|
||||
LibGGI 2.0 or greater
|
||||
|
||||
Installation:
|
||||
-------------
|
||||
To install GGIMesa, follow the instructions in INSTALL.GNU. If you
|
||||
wish to install GGIGLUT as well, first install GGIMesa and then run
|
||||
|
||||
make
|
||||
make install (must be root)
|
||||
|
||||
in ggi/ggiglut.
|
||||
|
||||
Notes:
|
||||
------
|
||||
|
||||
* Set the environment variables GGIMESA_DEBUG and/or GGIGLUT_DEBUG
|
||||
to 255 to see lots of debugging output.
|
||||
|
||||
* GGIGLUT contains support for all of the GLUT 3.6 API except for the
|
||||
high-level primitive drawing functions, but many of the functions (in
|
||||
particular the menu drawing functions) are just stubs.
|
||||
|
@@ -1,64 +0,0 @@
|
||||
|
||||
Mesa 3.0 for LynxOS builds in the following way:
|
||||
|
||||
make lynxos
|
||||
|
||||
This will build all the libraries and demo applications. You should have
|
||||
around 400 megabytes free for everything since everything is done with
|
||||
static
|
||||
libraries.
|
||||
|
||||
Before using this make file however, you should perform the following
|
||||
actions:
|
||||
0) cd to the Mesa-3.0 directory
|
||||
1) Copy the GL directory under the include directory to /usr/include.
|
||||
2) Copy the files in the lib directory to /lib.
|
||||
3) Make links so that the Mesa libraries look like ordinary OpenGL
|
||||
libraries
|
||||
in /lib. This is important for compatibility with other OpenGL apps. This
|
||||
is done as follows:
|
||||
|
||||
cd /lib
|
||||
ln -s libMesaGL.a libGL.a
|
||||
ln -s libMesaGLU.a libGLU.a
|
||||
|
||||
Mesa 3.0 includes the GLUT (GL Utility Toolkit) by default.
|
||||
The demo applications are done using this toolkit.
|
||||
|
||||
Mesa makefiles for building their apps could be used as well, but the
|
||||
following one is much more concise. Note that the order of the X libraries
|
||||
is important to the linker so that all symbols get resolved correctly.
|
||||
Changing the order may result in having to list a library twice to make
|
||||
sure all linkages are made correctly.
|
||||
|
||||
----cut here for Makefile -----
|
||||
|
||||
FILES = your_app.x
|
||||
|
||||
SPECIAL_INCLUDES = -I/usr/include/GL
|
||||
|
||||
SPECIAL_CFLAGS = -g -ansi -pedantic -funroll-loops -ffast-math -DSHM
|
||||
|
||||
SPECIAL_LIBS = -lglut -lGLU -lGL -lm -L/usr/X11/lib -lXext -lXmu -lXi \
|
||||
-lX11 -lbsd -g
|
||||
|
||||
STANDARD_OFILES = $(FILES:.x=.o)
|
||||
|
||||
%.o: %.c
|
||||
gcc -c $(SPECIAL_CFLAGS) $(SPECIAL_INCLUDES) $< -o $@
|
||||
|
||||
all: $(STANDARD_OFILES)
|
||||
gcc -o your_app $(STANDARD_OFILES) $(SPECIAL_LIBS)
|
||||
|
||||
|
||||
----cut here for Makefile-----
|
||||
|
||||
I have tested Mesa under LynxOS 3.0 and 3.01. It should build fine under
|
||||
other
|
||||
versions as well. Note, however, that LynxOS versions prior to 3.0 are not
|
||||
binary compatible, so you will have to rebuild from source.
|
||||
|
||||
|
||||
Vik Sohal
|
||||
vik@lynx.com
|
||||
January 13, 1999
|
@@ -1,6 +0,0 @@
|
||||
The NeXT support has now been incorporated into the OpenStep support.
|
||||
You can build NeXT libraries simply by typing "make next", though before
|
||||
linking they will need to be ranlib'd by hand. For more information see
|
||||
the README.OpenStep file, together with the README files in OpenStep/Old_Demos.
|
||||
|
||||
-Pete French. (pete@ohm.york.ac.uk) 28/5/1998
|
@@ -1,96 +0,0 @@
|
||||
README for port of Mesa 3.x to XFree86 on OS/2 (X/2)
|
||||
(as of 19990514)
|
||||
|
||||
|
||||
Contents:
|
||||
|
||||
1) Binary release
|
||||
2) Building from sources
|
||||
3) History
|
||||
4) Todo
|
||||
5) Mesa Home Page
|
||||
|
||||
|
||||
1) Binary release
|
||||
|
||||
Though the Mesa sources should build in a quite reasonable time even on
|
||||
a 585 class machine a binary relase is available (check topic 4) for an URL)
|
||||
This package includes:
|
||||
|
||||
- lib/MesaGL.dll, MesaGL.a
|
||||
- lib/MesaGLU.dll, MesaGLU.a
|
||||
- lib/glut.dll, glut.a
|
||||
- include/GL/*.h
|
||||
|
||||
Installing this in your XFree86 tree will enable you to build and
|
||||
run all applications compatible with Mesa (and the current DLL
|
||||
interface, of course ;-)
|
||||
As usual the OMF-style libraries can be created using emxomf.
|
||||
(e.g. "emxomf foo.a" creates the foo.lib omf-style library).
|
||||
The static libraries are rarely used and you have to rebuild
|
||||
Mesa to get them. They're a supported target, so you get
|
||||
them in a straightforward way (see below).
|
||||
|
||||
The testing of these libraries was limited to the supplied
|
||||
demos/examples and a quite small number of third-party apps.
|
||||
No warranty ... as usual ... ;-)
|
||||
|
||||
|
||||
2) Instructions to build Mesa 3.x for XFree86/OS2 from sources:
|
||||
|
||||
Except the official Mesa source distribution you need:
|
||||
- a recent version of XFree86 (3.3.x or above) including
|
||||
the programming libraries
|
||||
- EMX 0.9c (0.9d might work, never checked)
|
||||
- GNU make
|
||||
- REXX (!)
|
||||
|
||||
The creation of the DLLs as well as of the static libraries
|
||||
(if you want to have them) is handled in "mklib-emx.cmd",
|
||||
a small REXX script. Perhaps not the best idea, but this
|
||||
way it fits best in the scheme used to build libraries
|
||||
on all platforms in Mesa 3.x.
|
||||
|
||||
To actually build the libraries and demos, check mklib-emx.cmd
|
||||
and modify it as desired. Then type
|
||||
make os2-x11
|
||||
and wait for completion ;-)
|
||||
|
||||
|
||||
3) History
|
||||
|
||||
Initially Darren Abbott (abbott@hiwaay.net) ported Mesa versions 2.x
|
||||
to XFree86 OS/2. This port might still be available from
|
||||
http://fly.HiWAAY.net/~abbott/xfree86-os2/xfree86.html
|
||||
|
||||
The current port picked up things during the beta test for 3.0.
|
||||
No major changes in the source were done. The build mechanism under OS/2
|
||||
has been made very similar to other platforms (if you treat mklib-emx.cmd
|
||||
as a "black box").
|
||||
Advantage is that X/2 is now a valid target and all files are
|
||||
integrated in the official source distribution.
|
||||
Disadvantage is that this port (i.e. the DLLs' interface itself) is
|
||||
definitly NOT COMPATIBLE to those of version 2.x.
|
||||
It's uncertain whether this would be at all possible but since there
|
||||
a _very_ few those apps it's not worth to find out anyway.
|
||||
Also some libs (MesaTK, MesaAUX) are withdrawn from the Mesa distribution,
|
||||
and accordingly from the OS/2 port.
|
||||
|
||||
4) Todo
|
||||
|
||||
By now binary compatiblity is ensured by using the function names
|
||||
as entry points instead of ordinals. This might cost performance and
|
||||
is subject to change in future. In addition the supplied X86 assembler
|
||||
source is not used yet.
|
||||
|
||||
5) Mesa Home Page
|
||||
|
||||
You can get the source code and more information about Mesa from
|
||||
http://www.mesa3d.org/
|
||||
|
||||
The OS/2 ports should be available from
|
||||
http://r350.ee.ntu.edu.tw/~hcchu/os2/ports
|
||||
|
||||
--
|
||||
Alexander Mai
|
||||
st002279@hrzpub.tu-darmstadt.de
|
@@ -1,35 +0,0 @@
|
||||
This is a port of the GL and GLU libraries to NeXT/Apple object
|
||||
orientated systems. As these systems have their own window handling
|
||||
systems we simply use the offscreen rendering capability of Mesa
|
||||
to generate bitmaps which may then be displayed by the application
|
||||
with a View as required. Example pieces of code may be found in the
|
||||
OpenStep directory.
|
||||
|
||||
Sadly there are now a proliferation of different system that we need to
|
||||
support compilation for: The original NextStep system, The OpenStep
|
||||
system, the Rhapsody/Mac OS X system and also the windows implementations
|
||||
of the latter two systems. This version of the code has been compiled and
|
||||
tested under the following architectures:
|
||||
|
||||
NextStep 3.3
|
||||
OpenStep 4.2
|
||||
Rhapsody DR2
|
||||
WebObjects for NT 3.5
|
||||
WebObjects for NT 4.0
|
||||
|
||||
All tests were done with Intel processors. Feedback on other systems would,
|
||||
however, be appreciated !
|
||||
|
||||
On UNIX systems simply type "make openstep". Under Windows systems
|
||||
with WebObjects run the "win32-openstep.sh" script from within the Bourne
|
||||
shell provided with the development environment. In both cases this will
|
||||
build the libraries and place them into the "lib" directory. Some examples
|
||||
may be found in the OpenStep directory showing how to use the code in an
|
||||
actual application (MesaView) as well as some command line demos.
|
||||
|
||||
The CC variable may be specified on the command line for doing such things
|
||||
as building FFAT libraries or using alternative compilers to the standard 'cc'
|
||||
e.g. make CC='cc -arch m68k -arch i386' openstep" will build the libraries
|
||||
with both intel and motorola architectures.
|
||||
|
||||
-Pete French. (pete@ohm.york.ac.uk) 7/6/1999
|
@@ -1,146 +0,0 @@
|
||||
|
||||
WindML Driver for Mesa 4.0
|
||||
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
Tornado 2 + WindML, Cumulative Patchs are recommended.
|
||||
|
||||
I suppose you have a valid WindML installation. Double buffer hardware
|
||||
gives better performance than double buffer software so if you can
|
||||
compile your WindML driver with this option, just do it. I/O
|
||||
redirection is adviced in target server.
|
||||
|
||||
|
||||
Tested on
|
||||
---------
|
||||
|
||||
During the development, my main target was a CoolMonster:
|
||||
- Video card: CT69000
|
||||
- CPU: PENTIUM 266MHz
|
||||
|
||||
and my host a Windows NT + Tornado 2.
|
||||
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
1. Mesa sources must be in root directory (C:\)
|
||||
|
||||
2. Add the following line to your torVars.bat:
|
||||
set MESA_BASE=C:\Mesa
|
||||
|
||||
OR copy the new torVars.bat in your bin path:
|
||||
c:/Mesa/src/ugl/tornado/torVars.sample ->
|
||||
/mnt/nt/Tornado/host/x86-win32/bin/torVars (for example)
|
||||
|
||||
3. In a command prompt:
|
||||
$ torVars
|
||||
$ cd c:\Mesa
|
||||
$ make -f Makefile.ugl CPU=PENTIUM
|
||||
|
||||
Take a long while...
|
||||
|
||||
5. Include all the files from ugldemos folder to build some downloadable
|
||||
application modules
|
||||
|
||||
4. Download UGL/Mesa object files on target
|
||||
|
||||
For example via the WindShell:
|
||||
ld < c:\Tornado\target\lib\objMesaGL.o
|
||||
ld < c:\Tornado\target\lib\objMesaUGL.o
|
||||
ld < c:\Tornado\target\lib\objMesaGLU.o
|
||||
ld < c:\Tornado\target\lib\objGLUTshapes.o
|
||||
ld < c:\Tornado\target\lib\objMesaOS.o
|
||||
|
||||
You can put the previous lines in a file and use:
|
||||
< filename
|
||||
|
||||
6. Download the application modules.
|
||||
|
||||
7. In WindShell, run:
|
||||
-> uglalldemos
|
||||
|
||||
During the show some messages will appear, it provides some useful
|
||||
information on key management.
|
||||
|
||||
|
||||
Coding
|
||||
------
|
||||
|
||||
Sample Usage:
|
||||
|
||||
In addition to the usual ugl calls to initialize UGL, (may be find an
|
||||
input driver), you must do the following to use the UGL/Mesa interface:
|
||||
|
||||
1. Call uglMesaCreateContext() to create a UGL/Mesa rendering context,
|
||||
given the display format.
|
||||
|
||||
2. Call uglMesaMakeCurrent() to bind the UGL/Mesa buffers to an
|
||||
UGL/Mesa Context and to make the context the current one.
|
||||
|
||||
3. Make gl* calls to render your graphics.
|
||||
|
||||
4. Use uglMesaSwapBuffers() when double buffering to swap front/back buffers.
|
||||
|
||||
5. Before the UGL is destroyed, call MesaDestroyContext().
|
||||
|
||||
6. Before exiting, call if required uglEventQDestroy and then
|
||||
uglDeinitialize();
|
||||
|
||||
Limitations
|
||||
-----------
|
||||
|
||||
I found the following limitations in my driver :
|
||||
- Color Indexed management is only in 8 bits
|
||||
- It's possible to mix UGL/OpenGL application with a software
|
||||
double buffer
|
||||
|
||||
Modifications
|
||||
------------
|
||||
|
||||
New files in Mesa:
|
||||
- Makefile.ugl
|
||||
- rules.windmlmesa
|
||||
- docs/README.UGL
|
||||
- include/GL/uglmesa.h
|
||||
- si-glu/Makefile.ugl
|
||||
- src/Makefile.ugl
|
||||
- src/ugl/torGLUTShapesInit.c
|
||||
- src/ugl/torMesaUGLInit.c
|
||||
- src/ugl/ugl_api.c
|
||||
- src/ugl/ugl_dd.c
|
||||
- src/ugl/ugl_glutshapes.c
|
||||
- src/ugl/ugl_line.c
|
||||
- src/ugl/ugl_span.c
|
||||
- src/ugl/ugl_tri.c
|
||||
- src/ugl/uglmesaP.h
|
||||
- ugldemos/*
|
||||
|
||||
Modified files in Tornado 2.0:
|
||||
- c:\Tornado\host\x86-win32\bin\torVars.bat
|
||||
rem Command line build environments
|
||||
set WIND_HOST_TYPE=x86-win32
|
||||
set WIND_BASE=C:\Tornado
|
||||
set MESA_BASE=C:\Mesa
|
||||
set PATH=%WIND_BASE%\host\%WIND_HOST_TYPE%\bin;%PATH%
|
||||
- c:\Tornado\target\config\comps\VxWorks\01uglmesa.cdf
|
||||
- c:\Tornado\target\h\GL\*
|
||||
|
||||
Todo
|
||||
----
|
||||
- GCC 2.96, ASM compilation
|
||||
|
||||
Thanks to:
|
||||
----------
|
||||
|
||||
Precision Insight team for their great job around Mesa, XFree, and DRI.
|
||||
Wind River Systems to take me as an intern.
|
||||
|
||||
|
||||
Stephane Raimbault
|
||||
<stephane.raimbault@windriver.com>
|
||||
<stephane.raimbault@deesse.univ-lemans.fr>
|
||||
|
||||
July 24, 2001
|
@@ -38,32 +38,5 @@ and Unix-like operating systems
|
||||
<LI>DEC VMS <A HREF="README.VMS">(README.VMS)</A>
|
||||
</UL>
|
||||
|
||||
|
||||
<h2>Deprecated Systems</h2>
|
||||
|
||||
<p>
|
||||
These drivers have not been maintained and are being deprecated.
|
||||
They can be saved if someone steps up to help.
|
||||
</p>
|
||||
|
||||
<UL>
|
||||
<LI>3dfx/Glide <A HREF="README.3DFX">(README.3DFX)</A>
|
||||
<LI>GGI <A HREF="README.GGI">(README.GGI)</A>
|
||||
<LI>Amiga Amiwin <A HREF="README.AMIWIN">(README.AMIWIN)</A>
|
||||
<LI>Direct3D driver <A HREF="README.D3D">(README.D3D)</A>
|
||||
<LI>DJGPP <A HREF="README.DJ">(README.DJ)</A>
|
||||
<LI>LynxOS <A HREF="README.LYNXOS">(README.LYNXOS)</A>
|
||||
<LI>Mingw32 <A HREF="README.MINGW32">(README.MINGW32)</A>
|
||||
<LI>NeXT <A HREF="README.NeXT">(README.NeXT)</A>
|
||||
<LI>OpenStep <A HREF="README.OpenStep">(README.OpenStep)</A>
|
||||
<LI>OS/2 <A HREF="README.OS2">(README.OS2)</A>
|
||||
<LI>WindML <A HREF="README.WINDML">(README.WINDML)</A>
|
||||
</UL>
|
||||
|
||||
And for historical reference:
|
||||
<UL>
|
||||
<LI><a href="http://utah-glx.sourceforge.net/" target="_parent">Utah GLX drivers</a>
|
||||
</UL>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
Reference in New Issue
Block a user