1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
|
/*
* Mesa 3-D graphics library
* Version: 5.0.1
*
* Copyright (C) 1999-2003 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.
*/
/*
* Mesa/FX device driver. Interface to Glide3.
*
* Copyright (c) 2003 - Daniel Borca
* Email : dborca@users.sourceforge.net
* Web : http://www.geocities.com/dborca
*/
#ifndef TDFX_GLIDE_H_included
#define TDFX_GLIDE_H_included
#include <glide.h>
#include <g3ext.h>
#define DEBUG_TRAP 0
#if DEBUG_TRAP
/*
** rendering functions
*/
void FX_CALL trap_grDrawPoint (const void *pt);
void FX_CALL trap_grDrawLine (const void *v1, const void *v2);
void FX_CALL trap_grDrawTriangle (const void *a, const void *b, const void *c);
void FX_CALL trap_grVertexLayout (FxU32 param, FxI32 offset, FxU32 mode);
void FX_CALL trap_grDrawVertexArray (FxU32 mode, FxU32 Count, void *pointers);
void FX_CALL trap_grDrawVertexArrayContiguous (FxU32 mode, FxU32 Count, void *pointers, FxU32 stride);
/*
** Antialiasing Functions
*/
void FX_CALL trap_grAADrawTriangle (const void *a, const void *b, const void *c, FxBool ab_antialias, FxBool bc_antialias, FxBool ca_antialias);
/*
** buffer management
*/
void FX_CALL trap_grBufferClear (GrColor_t color, GrAlpha_t alpha, FxU32 depth);
void FX_CALL trap_grBufferSwap (FxU32 swap_interval);
void FX_CALL trap_grRenderBuffer (GrBuffer_t buffer);
/*
** error management
*/
void FX_CALL trap_grErrorSetCallback (GrErrorCallbackFnc_t fnc);
/*
** SST routines
*/
void FX_CALL trap_grFinish (void);
void FX_CALL trap_grFlush (void);
GrContext_t FX_CALL trap_grSstWinOpen (FxU32 hWnd, GrScreenResolution_t screen_resolution, GrScreenRefresh_t refresh_rate, GrColorFormat_t color_format, GrOriginLocation_t origin_location, int nColBuffers, int nAuxBuffers);
FxBool FX_CALL trap_grSstWinClose (GrContext_t context);
FxBool FX_CALL trap_grSelectContext (GrContext_t context);
void FX_CALL trap_grSstOrigin (GrOriginLocation_t origin);
void FX_CALL trap_grSstSelect (int which_sst);
/*
** Glide configuration and special effect maintenance functions
*/
void FX_CALL trap_grAlphaBlendFunction (GrAlphaBlendFnc_t rgb_sf, GrAlphaBlendFnc_t rgb_df, GrAlphaBlendFnc_t alpha_sf, GrAlphaBlendFnc_t alpha_df);
void FX_CALL trap_grAlphaCombine (GrCombineFunction_t function, GrCombineFactor_t factor, GrCombineLocal_t local, GrCombineOther_t other, FxBool invert);
void FX_CALL trap_grAlphaControlsITRGBLighting (FxBool enable);
void FX_CALL trap_grAlphaTestFunction (GrCmpFnc_t function);
void FX_CALL trap_grAlphaTestReferenceValue (GrAlpha_t value);
void FX_CALL trap_grChromakeyMode (GrChromakeyMode_t mode);
void FX_CALL trap_grChromakeyValue (GrColor_t value);
void FX_CALL trap_grClipWindow (FxU32 minx, FxU32 miny, FxU32 maxx, FxU32 maxy);
void FX_CALL trap_grColorCombine (GrCombineFunction_t function, GrCombineFactor_t factor, GrCombineLocal_t local, GrCombineOther_t other, FxBool invert);
void FX_CALL trap_grColorMask (FxBool rgb, FxBool a);
void FX_CALL trap_grCullMode (GrCullMode_t mode);
void FX_CALL trap_grConstantColorValue (GrColor_t value);
void FX_CALL trap_grDepthBiasLevel (FxI32 level);
void FX_CALL trap_grDepthBufferFunction (GrCmpFnc_t function);
void FX_CALL trap_grDepthBufferMode (GrDepthBufferMode_t mode);
void FX_CALL trap_grDepthMask (FxBool mask);
void FX_CALL trap_grDisableAllEffects (void);
void FX_CALL trap_grDitherMode (GrDitherMode_t mode);
void FX_CALL trap_grFogColorValue (GrColor_t fogcolor);
void FX_CALL trap_grFogMode (GrFogMode_t mode);
void FX_CALL trap_grFogTable (const GrFog_t ft[]);
void FX_CALL trap_grLoadGammaTable (FxU32 nentries, FxU32 *red, FxU32 *green, FxU32 *blue);
void FX_CALL trap_grSplash (float x, float y, float width, float height, FxU32 frame);
FxU32 FX_CALL trap_grGet (FxU32 pname, FxU32 plength, FxI32 *params);
const char * FX_CALL trap_grGetString (FxU32 pname);
FxI32 FX_CALL trap_grQueryResolutions (const GrResolution *resTemplate, GrResolution *output);
FxBool FX_CALL trap_grReset (FxU32 what);
GrProc FX_CALL trap_grGetProcAddress (char *procName);
void FX_CALL trap_grEnable (GrEnableMode_t mode);
void FX_CALL trap_grDisable (GrEnableMode_t mode);
void FX_CALL trap_grCoordinateSpace (GrCoordinateSpaceMode_t mode);
void FX_CALL trap_grDepthRange (FxFloat n, FxFloat f);
void FX_CALL trap_grStippleMode (GrStippleMode_t mode);
void FX_CALL trap_grStipplePattern (GrStipplePattern_t mode);
void FX_CALL trap_grViewport (FxI32 x, FxI32 y, FxI32 width, FxI32 height);
/*
** texture mapping control functions
*/
FxU32 FX_CALL trap_grTexCalcMemRequired (GrLOD_t lodmin, GrLOD_t lodmax, GrAspectRatio_t aspect, GrTextureFormat_t fmt);
FxU32 FX_CALL trap_grTexTextureMemRequired (FxU32 evenOdd, GrTexInfo *info);
FxU32 FX_CALL trap_grTexMinAddress (GrChipID_t tmu);
FxU32 FX_CALL trap_grTexMaxAddress (GrChipID_t tmu);
void FX_CALL trap_grTexNCCTable (GrNCCTable_t table);
void FX_CALL trap_grTexSource (GrChipID_t tmu, FxU32 startAddress, FxU32 evenOdd, GrTexInfo *info);
void FX_CALL trap_grTexClampMode (GrChipID_t tmu, GrTextureClampMode_t s_clampmode, GrTextureClampMode_t t_clampmode);
void FX_CALL trap_grTexCombine (GrChipID_t tmu, GrCombineFunction_t rgb_function, GrCombineFactor_t rgb_factor, GrCombineFunction_t alpha_function, GrCombineFactor_t alpha_factor, FxBool rgb_invert, FxBool alpha_invert);
void FX_CALL trap_grTexDetailControl (GrChipID_t tmu, int lod_bias, FxU8 detail_scale, float detail_max);
void FX_CALL trap_grTexFilterMode (GrChipID_t tmu, GrTextureFilterMode_t minfilter_mode, GrTextureFilterMode_t magfilter_mode);
void FX_CALL trap_grTexLodBiasValue (GrChipID_t tmu, float bias);
void FX_CALL trap_grTexDownloadMipMap (GrChipID_t tmu, FxU32 startAddress, FxU32 evenOdd, GrTexInfo *info);
void FX_CALL trap_grTexDownloadMipMapLevel (GrChipID_t tmu, FxU32 startAddress, GrLOD_t thisLod, GrLOD_t largeLod, GrAspectRatio_t aspectRatio, GrTextureFormat_t format, FxU32 evenOdd, void *data);
FxBool FX_CALL trap_grTexDownloadMipMapLevelPartial (GrChipID_t tmu, FxU32 startAddress, GrLOD_t thisLod, GrLOD_t largeLod, GrAspectRatio_t aspectRatio, GrTextureFormat_t format, FxU32 evenOdd, void *data, int start, int end);
void FX_CALL trap_grTexDownloadTable (GrTexTable_t type, void *data);
void FX_CALL trap_grTexDownloadTablePartial (GrTexTable_t type, void *data, int start, int end);
void FX_CALL trap_grTexMipMapMode (GrChipID_t tmu, GrMipMapMode_t mode, FxBool lodBlend);
void FX_CALL trap_grTexMultibase (GrChipID_t tmu, FxBool enable);
void FX_CALL trap_grTexMultibaseAddress (GrChipID_t tmu, GrTexBaseRange_t range, FxU32 startAddress, FxU32 evenOdd, GrTexInfo *info);
/*
** linear frame buffer functions
*/
FxBool FX_CALL trap_grLfbLock (GrLock_t type, GrBuffer_t buffer, GrLfbWriteMode_t writeMode, GrOriginLocation_t origin, FxBool pixelPipeline, GrLfbInfo_t *info);
FxBool FX_CALL trap_grLfbUnlock (GrLock_t type, GrBuffer_t buffer);
void FX_CALL trap_grLfbConstantAlpha (GrAlpha_t alpha);
void FX_CALL trap_grLfbConstantDepth (FxU32 depth);
void FX_CALL trap_grLfbWriteColorSwizzle (FxBool swizzleBytes, FxBool swapWords);
void FX_CALL trap_grLfbWriteColorFormat (GrColorFormat_t colorFormat);
FxBool FX_CALL trap_grLfbWriteRegion (GrBuffer_t dst_buffer, FxU32 dst_x, FxU32 dst_y, GrLfbSrcFmt_t src_format, FxU32 src_width, FxU32 src_height, FxBool pixelPipeline, FxI32 src_stride, void *src_data);
FxBool FX_CALL trap_grLfbReadRegion (GrBuffer_t src_buffer, FxU32 src_x, FxU32 src_y, FxU32 src_width, FxU32 src_height, FxU32 dst_stride, void *dst_data);
/*
** glide management functions
*/
void FX_CALL trap_grGlideInit (void);
void FX_CALL trap_grGlideShutdown (void);
void FX_CALL trap_grGlideGetState (void *state);
void FX_CALL trap_grGlideSetState (const void *state);
void FX_CALL trap_grGlideGetVertexLayout (void *layout);
void FX_CALL trap_grGlideSetVertexLayout (const void *layout);
/*
** glide utility functions
*/
void FX_CALL trap_guGammaCorrectionRGB (FxFloat red, FxFloat green, FxFloat blue);
float FX_CALL trap_guFogTableIndexToW (int i);
void FX_CALL trap_guFogGenerateExp (GrFog_t *fogtable, float density);
void FX_CALL trap_guFogGenerateExp2 (GrFog_t *fogtable, float density);
void FX_CALL trap_guFogGenerateLinear (GrFog_t *fogtable, float nearZ, float farZ);
#ifndef DEBUG_TRAP_internal
/*
** rendering functions
*/
#define grDrawPoint trap_grDrawPoint
#define grDrawLine trap_grDrawLine
#define grDrawTriangle trap_grDrawTriangle
#define grVertexLayout trap_grVertexLayout
#define grDrawVertexArray trap_grDrawVertexArray
#define grDrawVertexArrayContiguous trap_grDrawVertexArrayContiguous
/*
** Antialiasing Functions
*/
#define grAADrawTriangle trap_grAADrawTriangle
/*
** buffer management
*/
#define grBufferClear trap_grBufferClear
#define grBufferSwap trap_grBufferSwap
#define grRenderBuffer trap_grRenderBuffer
/*
** error management
*/
#define grErrorSetCallback trap_grErrorSetCallback
/*
** SST routines
*/
#define grFinish trap_grFinish
#define grFlush trap_grFlush
#define grSstWinOpen trap_grSstWinOpen
#define grSstWinClose trap_grSstWinClose
#define grSelectContext trap_grSelectContext
#define grSstOrigin trap_grSstOrigin
#define grSstSelect trap_grSstSelect
/*
** Glide configuration and special effect maintenance functions
*/
#define grAlphaBlendFunction trap_grAlphaBlendFunction
#define grAlphaCombine trap_grAlphaCombine
#define grAlphaControlsITRGBLighting trap_grAlphaControlsITRGBLighting
#define grAlphaTestFunction trap_grAlphaTestFunction
#define grAlphaTestReferenceValue trap_grAlphaTestReferenceValue
#define grChromakeyMode trap_grChromakeyMode
#define grChromakeyValue trap_grChromakeyValue
#define grClipWindow trap_grClipWindow
#define grColorCombine trap_grColorCombine
#define grColorMask trap_grColorMask
#define grCullMode trap_grCullMode
#define grConstantColorValue trap_grConstantColorValue
#define grDepthBiasLevel trap_grDepthBiasLevel
#define grDepthBufferFunction trap_grDepthBufferFunction
#define grDepthBufferMode trap_grDepthBufferMode
#define grDepthMask trap_grDepthMask
#define grDisableAllEffects trap_grDisableAllEffects
#define grDitherMode trap_grDitherMode
#define grFogColorValue trap_grFogColorValue
#define grFogMode trap_grFogMode
#define grFogTable trap_grFogTable
#define grLoadGammaTable trap_grLoadGammaTable
#define grSplash trap_grSplash
#define grGet trap_grGet
#define grGetString trap_grGetString
#define grQueryResolutions trap_grQueryResolutions
#define grReset trap_grReset
#define grGetProcAddress trap_grGetProcAddress
#define grEnable trap_grEnable
#define grDisable trap_grDisable
#define grCoordinateSpace trap_grCoordinateSpace
#define grDepthRange trap_grDepthRange
#define grStippleMode trap_grStippleMode
#define grStipplePattern trap_grStipplePattern
#define grViewport trap_grViewport
/*
** texture mapping control functions
*/
#define grTexCalcMemRequired trap_grTexCalcMemRequired
#define grTexTextureMemRequired trap_grTexTextureMemRequired
#define grTexMinAddress trap_grTexMinAddress
#define grTexMaxAddress trap_grTexMaxAddress
#define grTexNCCTable trap_grTexNCCTable
#define grTexSource trap_grTexSource
#define grTexClampMode trap_grTexClampMode
#define grTexCombine trap_grTexCombine
#define grTexDetailControl trap_grTexDetailControl
#define grTexFilterMode trap_grTexFilterMode
#define grTexLodBiasValue trap_grTexLodBiasValue
#define grTexDownloadMipMap trap_grTexDownloadMipMap
#define grTexDownloadMipMapLevel trap_grTexDownloadMipMapLevel
#define grTexDownloadMipMapLevelPartial trap_grTexDownloadMipMapLevelPartial
#define grTexDownloadTable trap_grTexDownloadTable
#define grTexDownloadTablePartial trap_grTexDownloadTablePartial
#define grTexMipMapMode trap_grTexMipMapMode
#define grTexMultibase trap_grTexMultibase
#define grTexMultibaseAddress trap_grTexMultibaseAddress
/*
** linear frame buffer functions
*/
#define grLfbLock trap_grLfbLock
#define grLfbUnlock trap_grLfbUnlock
#define grLfbConstantAlpha trap_grLfbConstantAlpha
#define grLfbConstantDepth trap_grLfbConstantDepth
#define grLfbWriteColorSwizzle trap_grLfbWriteColorSwizzle
#define grLfbWriteColorFormat trap_grLfbWriteColorFormat
#define grLfbWriteRegion trap_grLfbWriteRegion
#define grLfbReadRegion trap_grLfbReadRegion
/*
** glide management functions
*/
#define grGlideInit trap_grGlideInit
#define grGlideShutdown trap_grGlideShutdown
#define grGlideGetState trap_grGlideGetState
#define grGlideSetState trap_grGlideSetState
#define grGlideGetVertexLayout trap_grGlideGetVertexLayout
#define grGlideSetVertexLayout trap_grGlideSetVertexLayout
/*
** glide utility functions
*/
#define guGammaCorrectionRGB trap_guGammaCorrectionRGB
#define guFogTableIndexToW trap_guFogTableIndexToW
#define guFogGenerateExp trap_guFogGenerateExp
#define guFogGenerateExp2 trap_guFogGenerateExp2
#define guFogGenerateLinear trap_guFogGenerateLinear
#endif /* DEBUG_TRAP_internal */
#endif /* DEBUG_TRAP */
/* <texus.h> */
#define TX_MAX_LEVEL 16
typedef struct _TxMip {
int format;
int width;
int height;
int depth;
int size;
void *data[TX_MAX_LEVEL];
FxU32 pal[256];
} TxMip;
#define TX_DITHER_NONE 0x00000000
#define TX_DITHER_4x4 0x00000001
#define TX_DITHER_ERR 0x00000002
#define TX_COMPRESSION_STATISTICAL 0x00000000
#define TX_COMPRESSION_HEURISTIC 0x00000010
/* <texus.h> */
struct tdfx_glide {
/*
** glide extensions
*/
void (FX_CALL *grSetNumPendingBuffers) (FxI32 NumPendingBuffers);
char * (FX_CALL *grGetRegistryOrEnvironmentStringExt) (char *theEntry);
void (FX_CALL *grGetGammaTableExt) (FxU32 nentries, FxU32 *red, FxU32 *green, FxU32 *blue);
void (FX_CALL *grChromaRangeModeExt) (GrChromakeyMode_t mode);
void (FX_CALL *grChromaRangeExt) (GrColor_t color, GrColor_t range, GrChromaRangeMode_t match_mode);
void (FX_CALL *grTexChromaModeExt) (GrChipID_t tmu, GrChromakeyMode_t mode);
void (FX_CALL *grTexChromaRangeExt) (GrChipID_t tmu, GrColor_t min, GrColor_t max, GrTexChromakeyMode_t mode);
/* pointcast */
void (FX_CALL *grTexDownloadTableExt) (GrChipID_t tmu, GrTexTable_t type, void *data);
void (FX_CALL *grTexDownloadTablePartialExt) (GrChipID_t tmu, GrTexTable_t type, void *data, int start, int end);
void (FX_CALL *grTexNCCTableExt) (GrChipID_t tmu, GrNCCTable_t table);
/* tbext */
void (FX_CALL *grTextureBufferExt) (GrChipID_t tmu, FxU32 startAddress, GrLOD_t thisLOD, GrLOD_t largeLOD, GrAspectRatio_t aspectRatio, GrTextureFormat_t format, FxU32 odd_even_mask);
void (FX_CALL *grTextureAuxBufferExt) (GrChipID_t tmu, FxU32 startAddress, GrLOD_t thisLOD, GrLOD_t largeLOD, GrAspectRatio_t aspectRatio, GrTextureFormat_t format, FxU32 odd_even_mask);
void (FX_CALL *grAuxBufferExt) (GrBuffer_t buffer);
/* napalm */
GrContext_t (FX_CALL *grSstWinOpenExt) (FxU32 hWnd, GrScreenResolution_t resolution, GrScreenRefresh_t refresh, GrColorFormat_t format, GrOriginLocation_t origin, GrPixelFormat_t pixelformat, int nColBuffers, int nAuxBuffers);
void (FX_CALL *grStencilFuncExt) (GrCmpFnc_t fnc, GrStencil_t ref, GrStencil_t mask);
void (FX_CALL *grStencilMaskExt) (GrStencil_t value);
void (FX_CALL *grStencilOpExt) (GrStencilOp_t stencil_fail, GrStencilOp_t depth_fail, GrStencilOp_t depth_pass);
void (FX_CALL *grLfbConstantStencilExt) (GrStencil_t value);
void (FX_CALL *grBufferClearExt) (GrColor_t color, GrAlpha_t alpha, FxU32 depth, GrStencil_t stencil);
void (FX_CALL *grColorCombineExt) (GrCCUColor_t a, GrCombineMode_t a_mode, GrCCUColor_t b, GrCombineMode_t b_mode, GrCCUColor_t c, FxBool c_invert, GrCCUColor_t d, FxBool d_invert, FxU32 shift, FxBool invert);
void (FX_CALL *grAlphaCombineExt) (GrACUColor_t a, GrCombineMode_t a_mode, GrACUColor_t b, GrCombineMode_t b_mode, GrACUColor_t c, FxBool c_invert, GrACUColor_t d, FxBool d_invert, FxU32 shift, FxBool invert);
void (FX_CALL *grTexColorCombineExt) (GrChipID_t tmu, GrTCCUColor_t a, GrCombineMode_t a_mode, GrTCCUColor_t b, GrCombineMode_t b_mode, GrTCCUColor_t c, FxBool c_invert, GrTCCUColor_t d, FxBool d_invert, FxU32 shift, FxBool invert);
void (FX_CALL *grTexAlphaCombineExt) (GrChipID_t tmu, GrTACUColor_t a, GrCombineMode_t a_mode, GrTACUColor_t b, GrCombineMode_t b_mode, GrTACUColor_t c, FxBool c_invert, GrTACUColor_t d, FxBool d_invert, FxU32 shift, FxBool invert);
void (FX_CALL *grConstantColorValueExt) (GrChipID_t tmu, GrColor_t value);
void (FX_CALL *grColorMaskExt) (FxBool r, FxBool g, FxBool b, FxBool a);
void (FX_CALL *grAlphaBlendFunctionExt) (GrAlphaBlendFnc_t rgb_sf, GrAlphaBlendFnc_t rgb_df, GrAlphaBlendOp_t rgb_op, GrAlphaBlendFnc_t alpha_sf, GrAlphaBlendFnc_t alpha_df, GrAlphaBlendOp_t alpha_op);
void (FX_CALL *grTBufferWriteMaskExt) (FxU32 tmask);
/*
** Texus2 functions
*/
void (FX_CALL *txImgQuantize) (char *dst, char *src, int w, int h, FxU32 format, FxU32 dither);
void (FX_CALL *txMipQuantize) (TxMip *pxMip, TxMip *txMip, int fmt, FxU32 d, FxU32 comp);
void (FX_CALL *txPalToNcc) (GuNccTable *ncc_table, const FxU32 *pal);
};
void tdfx_hook_glide (struct tdfx_glide *Glide);
#endif
|