diff options
Diffstat (limited to 'src/mesa/drivers/glide/fxglidew.h')
-rw-r--r-- | src/mesa/drivers/glide/fxglidew.h | 228 |
1 files changed, 0 insertions, 228 deletions
diff --git a/src/mesa/drivers/glide/fxglidew.h b/src/mesa/drivers/glide/fxglidew.h deleted file mode 100644 index a19d0b58c73..00000000000 --- a/src/mesa/drivers/glide/fxglidew.h +++ /dev/null @@ -1,228 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 4.0 - * - * Copyright (C) 1999-2001 Brian Paul All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 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. - */ - -/* Authors: - * David Bucciarelli - * Brian Paul - * Daryll Strauss - * Keith Whitwell - * Daniel Borca - * Hiroshi Morii - */ - - -#ifndef __FX_GLIDE_WARPER__ -#define __FX_GLIDE_WARPER__ - - -#include "fxg.h" - -#ifndef FX_PACKEDCOLOR -#define FX_PACKEDCOLOR 1 -#endif - -#define MAX_NUM_SST 4 - -enum { - GR_SSTTYPE_VOODOO = 0, - GR_SSTTYPE_SST96 = 1, - GR_SSTTYPE_AT3D = 2, - GR_SSTTYPE_Voodoo2 = 3, - GR_SSTTYPE_Banshee = 4, - GR_SSTTYPE_Voodoo3 = 5, - GR_SSTTYPE_Voodoo4 = 6, - GR_SSTTYPE_Voodoo5 = 7 -}; - -#define GrState void - -typedef int GrSstType; - -typedef struct GrTMUConfig_St { - int tmuRev; /* Rev of Texelfx chip */ - int tmuRam; /* 1, 2, or 4 MB */ -} GrTMUConfig_t; - -typedef struct { - int num_sst; /* # of HW units in the system */ - struct SstCard_St { - GrSstType type; /* Which hardware is it? */ - int fbRam; /* 1, 2, or 4 MB */ - int fbiRev; /* Rev of Pixelfx chip */ - int nTexelfx; /* How many texelFX chips are there? */ - int numChips; /* Number of Voodoo chips */ - GrTMUConfig_t tmuConfig[GLIDE_NUM_TMU]; /* Configuration of the Texelfx chips */ - /* Glide3 extensions */ - FxBool HavePalExt; /* PALETTE6666 */ - FxBool HavePixExt; /* PIXEXT */ - FxBool HaveTexFmt; /* TEXFMT */ - FxBool HaveCmbExt; /* COMBINE */ - FxBool HaveMirExt; /* TEXMIRROR */ - FxBool HaveTexUma; /* TEXUMA */ - } - SSTs[MAX_NUM_SST]; /* configuration for each board */ - struct tdfx_glide Glide; -} GrHwConfiguration; - - - -typedef FxU32 GrHint_t; -#define GR_HINTTYPE_MIN 0 -#define GR_HINT_STWHINT 0 - -typedef FxU32 GrSTWHint_t; -#define GR_STWHINT_W_DIFF_FBI FXBIT(0) -#define GR_STWHINT_W_DIFF_TMU0 FXBIT(1) -#define GR_STWHINT_ST_DIFF_TMU0 FXBIT(2) -#define GR_STWHINT_W_DIFF_TMU1 FXBIT(3) -#define GR_STWHINT_ST_DIFF_TMU1 FXBIT(4) -#define GR_STWHINT_W_DIFF_TMU2 FXBIT(5) -#define GR_STWHINT_ST_DIFF_TMU2 FXBIT(6) - -#define GR_CONTROL_ACTIVATE 1 -#define GR_CONTROL_DEACTIVATE 0 - - - -/* -** move the vertex layout defintion to application -*/ -typedef struct { - float sow; /* s texture ordinate (s over w) */ - float tow; /* t texture ordinate (t over w) */ - float oow; /* 1/w (used mipmapping - really 0xfff/w) */ -} GrTmuVertex; - -#if FX_PACKEDCOLOR -typedef struct { - float x, y; /* X and Y in screen space */ - float ooz; /* 65535/Z (used for Z-buffering) */ - float oow; /* 1/W (used for W-buffering, texturing) */ - unsigned char pargb[4]; /* B, G, R, A [0..255] */ - GrTmuVertex tmuvtx[GLIDE_NUM_TMU]; - float fog; /* fog coordinate */ - unsigned char pspec[4]; /* B, G, R, A [0..255] */ - float psize; /* point size */ - long pad[16 - 14]; /* ensure 64b structure */ -} GrVertex; - -#define GR_VERTEX_X_OFFSET 0 -#define GR_VERTEX_Y_OFFSET 1 -#define GR_VERTEX_OOZ_OFFSET 2 -#define GR_VERTEX_OOW_OFFSET 3 -#define GR_VERTEX_PARGB_OFFSET 4 -#define GR_VERTEX_SOW_TMU0_OFFSET 5 -#define GR_VERTEX_TOW_TMU0_OFFSET 6 -#define GR_VERTEX_OOW_TMU0_OFFSET 7 -#define GR_VERTEX_SOW_TMU1_OFFSET 8 -#define GR_VERTEX_TOW_TMU1_OFFSET 9 -#define GR_VERTEX_OOW_TMU1_OFFSET 10 -#define GR_VERTEX_FOG_OFFSET 11 -#define GR_VERTEX_PSPEC_OFFSET 12 -#else /* !FX_PACKEDCOLOR */ -typedef struct { - float x, y; /* X and Y in screen space */ - float ooz; /* 65535/Z (used for Z-buffering) */ - float oow; /* 1/W (used for W-buffering, texturing) */ - float r, g, b, a; /* R, G, B, A [0..255] */ - GrTmuVertex tmuvtx[GLIDE_NUM_TMU]; - float fog; /* fog coordinate */ - float r1, g1, b1; /* R, G, B [0..255] */ - float psize; /* point size */ - long pad[20 - 19]; /* ensure multiple of 16 */ -} GrVertex; - -#define GR_VERTEX_X_OFFSET 0 -#define GR_VERTEX_Y_OFFSET 1 -#define GR_VERTEX_OOZ_OFFSET 2 -#define GR_VERTEX_OOW_OFFSET 3 -#define GR_VERTEX_RGB_OFFSET 4 -#define GR_VERTEX_A_OFFSET 7 -#define GR_VERTEX_SOW_TMU0_OFFSET 8 -#define GR_VERTEX_TOW_TMU0_OFFSET 9 -#define GR_VERTEX_OOW_TMU0_OFFSET 10 -#define GR_VERTEX_SOW_TMU1_OFFSET 11 -#define GR_VERTEX_TOW_TMU1_OFFSET 12 -#define GR_VERTEX_OOW_TMU1_OFFSET 13 -#define GR_VERTEX_FOG_OFFSET 14 -#define GR_VERTEX_SPEC_OFFSET 15 -#endif /* !FX_PACKEDCOLOR */ - - - -/* - * For Lod/LodLog2 conversion. - */ -#define FX_largeLodLog2(info) (info).largeLodLog2 -#define FX_aspectRatioLog2(info) (info).aspectRatioLog2 -#define FX_smallLodLog2(info) (info).smallLodLog2 -#define FX_lodToValue(val) ((int)(GR_LOD_LOG2_256-val)) -#define FX_largeLodValue(info) ((int)(GR_LOD_LOG2_256-(info).largeLodLog2)) -#define FX_smallLodValue(info) ((int)(GR_LOD_LOG2_256-(info).smallLodLog2)) -#define FX_valueToLod(val) ((GrLOD_t)(GR_LOD_LOG2_256-val)) - - - -/* - * Query - */ -extern int FX_grSstScreenWidth(void); -extern int FX_grSstScreenHeight(void); -extern void FX_grSstPerfStats(GrSstPerfStats_t *st); -extern int FX_grSstQueryHardware(GrHwConfiguration *config); -#define FX_grGetInteger FX_grGetInteger_NoLock -extern FxI32 FX_grGetInteger_NoLock(FxU32 pname); - - - -/* - * GrHints - */ -#define FX_grHints FX_grHints_NoLock -extern void FX_grHints_NoLock(GrHint_t hintType, FxU32 hintMask); - - - -/* - * Needed for Glide3 only, to set up Glide2 compatible vertex layout. - */ -extern void FX_setupGrVertexLayout(void); - - - -/* - * grSstControl stuff - */ -extern FxBool FX_grSstControl(FxU32 code); - -#define FX_grBufferClear(c, a, d) \ - do { \ - BEGIN_CLIP_LOOP(); \ - grBufferClear(c, a, d); \ - END_CLIP_LOOP(); \ - } while (0) - - - -#endif /* __FX_GLIDE_WARPER__ */ |