documentation updates

Glide3 driver: POINTCAST palette fixes
This commit is contained in:
Daniel Borca
2004-04-14 08:00:52 +00:00
parent 377ced2bf1
commit edf4f53c15
7 changed files with 110 additions and 82 deletions

View File

@@ -20,7 +20,7 @@
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# DOS/DJGPP makefile v1.4 for Mesa # DOS/DJGPP makefile v1.5 for Mesa
# #
# Copyright (C) 2002 - Borca Daniel # Copyright (C) 2002 - Borca Daniel
# Email : dborca@users.sourceforge.net # Email : dborca@users.sourceforge.net
@@ -43,15 +43,7 @@
# As a consequence, you'll need the DJGPP Glide3 # As a consequence, you'll need the DJGPP Glide3
# library to build any application. # library to build any application.
# default = no # default = no
# HAVE_X86=1 optimize for i386. # X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow).
# 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 crashes.
# default = no
# HAVE_SSE=1 (see HAVE_MMX)
# default = no
# HAVE_3DNOW=1 (see HAVE_MMX)
# default = no # default = no
# #
# Targets: # Targets:

View File

@@ -20,7 +20,7 @@
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# MinGW makefile v1.0 for Mesa # MinGW makefile v1.1 for Mesa
# #
# Copyright (C) 2002 - Borca Daniel # Copyright (C) 2002 - Borca Daniel
# Email : dborca@users.sourceforge.net # Email : dborca@users.sourceforge.net
@@ -40,15 +40,7 @@
# As a consequence, you'll need the Win32 Glide3 # As a consequence, you'll need the Win32 Glide3
# library to build any application. # library to build any application.
# default = no # default = no
# HAVE_X86=1 optimize for i386. # X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow).
# 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 crashes.
# default = no
# HAVE_SSE=1 (see HAVE_MMX)
# default = no
# HAVE_3DNOW=1 (see HAVE_MMX)
# default = no # default = no
# #
# Targets: # Targets:

View File

@@ -74,7 +74,7 @@ Environment variables:
---------------------- ----------------------
The following environment variables affect MesaFX. Those that affect Glide The following environment variables affect MesaFX. Those that affect Glide
only, are beyond the scope of this file. Entries that don't have a "Value" only, are beyond the scope of this section. Entries that don't have a "Value"
field, can have any value whatsoever field, can have any value whatsoever
ex: set MESA_FX_IGNORE_CMBEXT=y ex: set MESA_FX_IGNORE_CMBEXT=y
@@ -89,7 +89,7 @@ default values. Use them only when you experience crashes or strange behavior.
FX_GLIDE_NUM_TMU FX_GLIDE_NUM_TMU
OS: all OS: all
HW: 2 TMU cards (Voodoo2, Avenger, Napalm) HW: dual-TMU cards (some Voodoo1, Voodoo2, Avenger, Napalm)
Desc: force single-TMU Desc: force single-TMU
Note: (*) Note: (*)
Value: "1" Value: "1"
@@ -137,6 +137,11 @@ MESA_FX_INFO
HW: all HW: all
Desc: verbose to stderr Desc: verbose to stderr
Value: any; special value "r" to redirect stderr to MESA.LOG Value: any; special value "r" to redirect stderr to MESA.LOG
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 MESA_FX_IGNORE_PALEXT
OS: all OS: all
HW: all HW: all
@@ -153,8 +158,9 @@ MESA_FX_IGNORE_CMBEXT
OS: all OS: all
HW: Napalm HW: Napalm
Desc: disable Napalm combiners (color/alpha/texture) Desc: disable Napalm combiners (color/alpha/texture)
Note: this means advanced (multi)texturing modes won't Note: this option allows dual-TMU cards perform single-pass
work, but disabling this turns on REAL trilinear trilinear, but some advanced (multi)texturing modes
won't work (GL_EXT_texture_env_combine)
MESA_FX_IGNORE_MIREXT MESA_FX_IGNORE_MIREXT
OS: all OS: all
HW: all HW: all

View File

@@ -1,3 +1,31 @@
Mesa 6.1 for MinGW32
~~~~~~~~~~~~~~~~~~~~
Quick & dirty start:
--------------------
mingw32-make -f Makefile.mgw [OPTIONS...]
Look into the corresponding makefiles for further information.
Check README.3DFX to find out how to compile Mesa Glide3 driver
with MinGW32!
Contact:
--------
Daniel Borca <dborca@users.sourceforge.net>
WARNING! The info below this line is outdated (yet some of it useful). WARNING!
*******************************************************************************
August 30, 1998 -- Paul Garceau August 30, 1998 -- Paul Garceau
Updated January 13, 2000 -- Paul Garceau (pgarceau@teleport.com) Updated January 13, 2000 -- Paul Garceau (pgarceau@teleport.com)

View File

@@ -2240,8 +2240,12 @@ void FX_CALL fake_grTexNCCTableExt (GrChipID_t tmu,
/****************************************************************************\ /****************************************************************************\
* interface * * interface *
\****************************************************************************/ \****************************************************************************/
void tdfx_hook_glide (struct tdfx_glide *Glide) void tdfx_hook_glide (struct tdfx_glide *Glide, int pointcast)
{ {
/* GET_EXT_ADDR: get function pointer
* GET_EXT_FAKE: get function pointer if possible, else use a fake function
* GET_EXT_NULL: get function pointer if possible, else leave NULL pointer
*/
#if FX_TRAP_GLIDE #if FX_TRAP_GLIDE
#define GET_EXT_ADDR(name) *(GrProc *)&real_##name = grGetProcAddress(#name), Glide->name = trap_##name #define GET_EXT_ADDR(name) *(GrProc *)&real_##name = grGetProcAddress(#name), Glide->name = trap_##name
#define GET_EXT_FAKE(name) GET_EXT_ADDR(name); if (real_##name == NULL) real_##name = fake_##name #define GET_EXT_FAKE(name) GET_EXT_ADDR(name); if (real_##name == NULL) real_##name = fake_##name
@@ -2263,9 +2267,15 @@ void tdfx_hook_glide (struct tdfx_glide *Glide)
GET_EXT_ADDR(grTexChromaModeExt); GET_EXT_ADDR(grTexChromaModeExt);
GET_EXT_ADDR(grTexChromaRangeExt); GET_EXT_ADDR(grTexChromaRangeExt);
/* pointcast */ /* pointcast */
if (pointcast) {
GET_EXT_FAKE(grTexDownloadTableExt); GET_EXT_FAKE(grTexDownloadTableExt);
GET_EXT_FAKE(grTexDownloadTablePartialExt); GET_EXT_FAKE(grTexDownloadTablePartialExt);
GET_EXT_FAKE(grTexNCCTableExt); GET_EXT_FAKE(grTexNCCTableExt);
} else {
Glide->grTexDownloadTableExt = fake_grTexDownloadTableExt;
Glide->grTexDownloadTablePartialExt = fake_grTexDownloadTablePartialExt;
Glide->grTexNCCTableExt = fake_grTexNCCTableExt;
}
/* tbext */ /* tbext */
GET_EXT_ADDR(grTextureBufferExt); GET_EXT_ADDR(grTextureBufferExt);
GET_EXT_ADDR(grTextureAuxBufferExt); GET_EXT_ADDR(grTextureAuxBufferExt);

View File

@@ -377,6 +377,6 @@ struct tdfx_glide {
void (FX_CALL *txPalToNcc) (GuNccTable *ncc_table, const FxU32 *pal); void (FX_CALL *txPalToNcc) (GuNccTable *ncc_table, const FxU32 *pal);
}; };
void tdfx_hook_glide (struct tdfx_glide *Glide); void tdfx_hook_glide (struct tdfx_glide *Glide, int pointcast);
#endif #endif

View File

@@ -240,7 +240,7 @@ FX_grSstQueryHardware(GrHwConfiguration * config)
} }
tdfx_hook_glide(&config->Glide); tdfx_hook_glide(&config->Glide, getenv("MESA_FX_POINTCAST") != NULL);
END_BOARD_LOCK(); END_BOARD_LOCK();
return 1; return 1;