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