~ubuntu-branches/ubuntu/quantal/mesa-glw/quantal

« back to all changes in this revision

Viewing changes to src/mesa/drivers/dri/tdfx/tdfx_glide.h

  • Committer: Bazaar Package Importer
  • Author(s): Morten Kjeldgaard
  • Date: 2008-05-06 16:19:15 UTC
  • Revision ID: james.westby@ubuntu.com-20080506161915-uynz7nftmfixu6bq
Tags: upstream-7.0.3
ImportĀ upstreamĀ versionĀ 7.0.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * This file defines macros and types necessary for accessing glide3.
 
3
 */
 
4
 
 
5
/* $XFree86: xc/lib/GL/mesa/src/drv/tdfx/tdfx_glide.h,v 1.1 2002/02/22 21:45:03 dawes Exp $ */
 
6
 
 
7
#ifndef NEWGLIDE_H
 
8
#define NEWGLIDE_H
 
9
 
 
10
#define FX_CALL
 
11
 
 
12
typedef unsigned char FxU8;
 
13
typedef signed char FxI8;
 
14
typedef unsigned short FxU16;
 
15
typedef signed short FxI16;
 
16
#if defined(__alpha__) || defined (__LP64__)
 
17
typedef signed int FxI32;
 
18
typedef unsigned int FxU32;
 
19
#else
 
20
typedef signed long FxI32;
 
21
typedef unsigned long FxU32;
 
22
#endif
 
23
typedef unsigned long AnyPtr;
 
24
typedef int FxBool;
 
25
typedef float FxFloat;
 
26
typedef double FxDouble;
 
27
 
 
28
typedef unsigned long FxColor_t;
 
29
typedef struct
 
30
{
 
31
   float r, g, b, a;
 
32
}
 
33
FxColor4;
 
34
 
 
35
typedef FxU32 GrColor_t;
 
36
typedef FxU8 GrAlpha_t;
 
37
typedef FxU32 GrMipMapId_t;
 
38
typedef FxU32 GrStipplePattern_t;
 
39
typedef FxU8 GrFog_t;
 
40
typedef FxU32 GrContext_t;
 
41
typedef int (FX_CALL * GrProc) (void);
 
42
 
 
43
#define FXTRUE 1
 
44
#define FXFALSE 0
 
45
 
 
46
#define FXBIT(i) (1L << (i))
 
47
 
 
48
#define GR_NULL_MIPMAP_HANDLE  ((GrMipMapId_t) -1)
 
49
 
 
50
#define GR_MIPMAPLEVELMASK_EVEN FXBIT(0)
 
51
#define GR_MIPMAPLEVELMASK_ODD FXBIT(1)
 
52
#define GR_MIPMAPLEVELMASK_BOTH (GR_MIPMAPLEVELMASK_EVEN | GR_MIPMAPLEVELMASK_ODD )
 
53
 
 
54
typedef FxI32 GrChipID_t;
 
55
#define GR_TMU0 0x0
 
56
#define GR_TMU1 0x1
 
57
#define GR_TMU2 0x2
 
58
 
 
59
#define GR_FBI  0x0
 
60
 
 
61
typedef FxI32 GrCombineFunction_t;
 
62
#define GR_COMBINE_FUNCTION_ZERO        0x0
 
63
#define GR_COMBINE_FUNCTION_NONE        GR_COMBINE_FUNCTION_ZERO
 
64
#define GR_COMBINE_FUNCTION_LOCAL       0x1
 
65
#define GR_COMBINE_FUNCTION_LOCAL_ALPHA 0x2
 
66
#define GR_COMBINE_FUNCTION_SCALE_OTHER 0x3
 
67
#define GR_COMBINE_FUNCTION_BLEND_OTHER GR_COMBINE_FUNCTION_SCALE_OTHER
 
68
#define GR_COMBINE_FUNCTION_SCALE_OTHER_ADD_LOCAL 0x4
 
69
#define GR_COMBINE_FUNCTION_SCALE_OTHER_ADD_LOCAL_ALPHA 0x5
 
70
#define GR_COMBINE_FUNCTION_SCALE_OTHER_MINUS_LOCAL 0x6
 
71
#define GR_COMBINE_FUNCTION_SCALE_OTHER_MINUS_LOCAL_ADD_LOCAL 0x7
 
72
#define GR_COMBINE_FUNCTION_BLEND GR_COMBINE_FUNCTION_SCALE_OTHER_MINUS_LOCAL_ADD_LOCAL
 
73
#define GR_COMBINE_FUNCTION_SCALE_OTHER_MINUS_LOCAL_ADD_LOCAL_ALPHA 0x8
 
74
#define GR_COMBINE_FUNCTION_SCALE_MINUS_LOCAL_ADD_LOCAL 0x9
 
75
#define GR_COMBINE_FUNCTION_BLEND_LOCAL GR_COMBINE_FUNCTION_SCALE_MINUS_LOCAL_ADD_LOCAL
 
76
#define GR_COMBINE_FUNCTION_SCALE_MINUS_LOCAL_ADD_LOCAL_ALPHA 0x10
 
77
 
 
78
typedef FxI32 GrCombineFactor_t;
 
79
#define GR_COMBINE_FACTOR_ZERO          0x0
 
80
#define GR_COMBINE_FACTOR_NONE          GR_COMBINE_FACTOR_ZERO
 
81
#define GR_COMBINE_FACTOR_LOCAL         0x1
 
82
#define GR_COMBINE_FACTOR_OTHER_ALPHA   0x2
 
83
#define GR_COMBINE_FACTOR_LOCAL_ALPHA   0x3
 
84
#define GR_COMBINE_FACTOR_TEXTURE_ALPHA 0x4
 
85
#define GR_COMBINE_FACTOR_TEXTURE_RGB   0x5
 
86
#define GR_COMBINE_FACTOR_DETAIL_FACTOR GR_COMBINE_FACTOR_TEXTURE_ALPHA
 
87
#define GR_COMBINE_FACTOR_LOD_FRACTION  0x5
 
88
#define GR_COMBINE_FACTOR_ONE           0x8
 
89
#define GR_COMBINE_FACTOR_ONE_MINUS_LOCAL 0x9
 
90
#define GR_COMBINE_FACTOR_ONE_MINUS_OTHER_ALPHA 0xa
 
91
#define GR_COMBINE_FACTOR_ONE_MINUS_LOCAL_ALPHA 0xb
 
92
#define GR_COMBINE_FACTOR_ONE_MINUS_TEXTURE_ALPHA 0xc
 
93
#define GR_COMBINE_FACTOR_ONE_MINUS_DETAIL_FACTOR GR_COMBINE_FACTOR_ONE_MINUS_TEXTURE_ALPHA
 
94
#define GR_COMBINE_FACTOR_ONE_MINUS_LOD_FRACTION 0xd
 
95
 
 
96
typedef FxI32 GrCombineLocal_t;
 
97
#define GR_COMBINE_LOCAL_ITERATED 0x0
 
98
#define GR_COMBINE_LOCAL_CONSTANT 0x1
 
99
#define GR_COMBINE_LOCAL_NONE GR_COMBINE_LOCAL_CONSTANT
 
100
#define GR_COMBINE_LOCAL_DEPTH  0x2
 
101
 
 
102
typedef FxI32 GrCombineOther_t;
 
103
#define GR_COMBINE_OTHER_ITERATED 0x0
 
104
#define GR_COMBINE_OTHER_TEXTURE 0x1
 
105
#define GR_COMBINE_OTHER_CONSTANT 0x2
 
106
#define GR_COMBINE_OTHER_NONE GR_COMBINE_OTHER_CONSTANT
 
107
 
 
108
typedef FxI32 GrAlphaSource_t;
 
109
#define GR_ALPHASOURCE_CC_ALPHA 0x0
 
110
#define GR_ALPHASOURCE_ITERATED_ALPHA 0x1
 
111
#define GR_ALPHASOURCE_TEXTURE_ALPHA 0x2
 
112
#define GR_ALPHASOURCE_TEXTURE_ALPHA_TIMES_ITERATED_ALPHA 0x3
 
113
 
 
114
typedef FxI32 GrColorCombineFnc_t;
 
115
#define GR_COLORCOMBINE_ZERO 0x0
 
116
#define GR_COLORCOMBINE_CCRGB 0x1
 
117
#define GR_COLORCOMBINE_ITRGB 0x2
 
118
#define GR_COLORCOMBINE_ITRGB_DELTA0 0x3
 
119
#define GR_COLORCOMBINE_DECAL_TEXTURE 0x4
 
120
#define GR_COLORCOMBINE_TEXTURE_TIMES_CCRGB 0x5
 
121
#define GR_COLORCOMBINE_TEXTURE_TIMES_ITRGB 0x6
 
122
#define GR_COLORCOMBINE_TEXTURE_TIMES_ITRGB_DELTA0 0x7
 
123
#define GR_COLORCOMBINE_TEXTURE_TIMES_ITRGB_ADD_ALPHA 0x8
 
124
#define GR_COLORCOMBINE_TEXTURE_TIMES_ALPHA 0x9
 
125
#define GR_COLORCOMBINE_TEXTURE_TIMES_ALPHA_ADD_ITRGB 0xa
 
126
#define GR_COLORCOMBINE_TEXTURE_ADD_ITRGB 0xb
 
127
#define GR_COLORCOMBINE_TEXTURE_SUB_ITRGB 0xc
 
128
#define GR_COLORCOMBINE_CCRGB_BLEND_ITRGB_ON_TEXALPHA 0xd
 
129
#define GR_COLORCOMBINE_DIFF_SPEC_A 0xe
 
130
#define GR_COLORCOMBINE_DIFF_SPEC_B 0xf
 
131
#define GR_COLORCOMBINE_ONE 0x10
 
132
 
 
133
typedef FxI32 GrAlphaBlendFnc_t;
 
134
#define GR_BLEND_ZERO 0x0
 
135
#define GR_BLEND_SRC_ALPHA 0x1
 
136
#define GR_BLEND_SRC_COLOR 0x2
 
137
#define GR_BLEND_DST_COLOR GR_BLEND_SRC_COLOR
 
138
#define GR_BLEND_DST_ALPHA 0x3
 
139
#define GR_BLEND_ONE 0x4
 
140
#define GR_BLEND_ONE_MINUS_SRC_ALPHA 0x5
 
141
#define GR_BLEND_ONE_MINUS_SRC_COLOR 0x6
 
142
#define GR_BLEND_ONE_MINUS_DST_COLOR GR_BLEND_ONE_MINUS_SRC_COLOR
 
143
#define GR_BLEND_ONE_MINUS_DST_ALPHA 0x7
 
144
#define GR_BLEND_RESERVED_8 0x8
 
145
#define GR_BLEND_RESERVED_9 0x9
 
146
#define GR_BLEND_RESERVED_A 0xa
 
147
#define GR_BLEND_RESERVED_B 0xb
 
148
#define GR_BLEND_RESERVED_C 0xc
 
149
#define GR_BLEND_RESERVED_D 0xd
 
150
#define GR_BLEND_RESERVED_E 0xe
 
151
#define GR_BLEND_ALPHA_SATURATE 0xf
 
152
#define GR_BLEND_PREFOG_COLOR GR_BLEND_ALPHA_SATURATE
 
153
#define GR_BLEND_SAME_COLOR_EXT           0x08
 
154
#define GR_BLEND_ONE_MINUS_SAME_COLOR_EXT 0x09
 
155
 
 
156
typedef FxI32 GrAspectRatio_t;
 
157
#define GR_ASPECT_LOG2_8x1        3
 
158
#define GR_ASPECT_LOG2_4x1        2
 
159
#define GR_ASPECT_LOG2_2x1        1
 
160
#define GR_ASPECT_LOG2_1x1        0
 
161
#define GR_ASPECT_LOG2_1x2       -1
 
162
#define GR_ASPECT_LOG2_1x4       -2
 
163
#define GR_ASPECT_LOG2_1x8       -3
 
164
 
 
165
typedef FxI32 GrBuffer_t;
 
166
#define GR_BUFFER_FRONTBUFFER   0x0
 
167
#define GR_BUFFER_BACKBUFFER    0x1
 
168
#define GR_BUFFER_AUXBUFFER     0x2
 
169
#define GR_BUFFER_DEPTHBUFFER   0x3
 
170
#define GR_BUFFER_ALPHABUFFER   0x4
 
171
#define GR_BUFFER_TRIPLEBUFFER  0x5
 
172
 
 
173
typedef FxI32 GrChromakeyMode_t;
 
174
#define GR_CHROMAKEY_DISABLE    0x0
 
175
#define GR_CHROMAKEY_ENABLE     0x1
 
176
 
 
177
typedef FxI32 GrChromaRangeMode_t;
 
178
#define GR_CHROMARANGE_RGB_ALL_EXT  0x0
 
179
 
 
180
#define GR_CHROMARANGE_DISABLE_EXT  0x00
 
181
#define GR_CHROMARANGE_ENABLE_EXT   0x01
 
182
 
 
183
typedef FxI32 GrTexChromakeyMode_t;
 
184
#define GR_TEXCHROMA_DISABLE_EXT               0x0
 
185
#define GR_TEXCHROMA_ENABLE_EXT                0x1
 
186
 
 
187
#define GR_TEXCHROMARANGE_RGB_ALL_EXT  0x0
 
188
 
 
189
typedef FxI32 GrCmpFnc_t;
 
190
#define GR_CMP_NEVER    0x0
 
191
#define GR_CMP_LESS     0x1
 
192
#define GR_CMP_EQUAL    0x2
 
193
#define GR_CMP_LEQUAL   0x3
 
194
#define GR_CMP_GREATER  0x4
 
195
#define GR_CMP_NOTEQUAL 0x5
 
196
#define GR_CMP_GEQUAL   0x6
 
197
#define GR_CMP_ALWAYS   0x7
 
198
 
 
199
typedef FxI32 GrColorFormat_t;
 
200
#define GR_COLORFORMAT_ARGB     0x0
 
201
#define GR_COLORFORMAT_ABGR     0x1
 
202
 
 
203
#define GR_COLORFORMAT_RGBA     0x2
 
204
#define GR_COLORFORMAT_BGRA     0x3
 
205
 
 
206
typedef FxI32 GrCullMode_t;
 
207
#define GR_CULL_DISABLE         0x0
 
208
#define GR_CULL_NEGATIVE        0x1
 
209
#define GR_CULL_POSITIVE        0x2
 
210
 
 
211
typedef FxI32 GrDepthBufferMode_t;
 
212
#define GR_DEPTHBUFFER_DISABLE                  0x0
 
213
#define GR_DEPTHBUFFER_ZBUFFER                  0x1
 
214
#define GR_DEPTHBUFFER_WBUFFER                  0x2
 
215
#define GR_DEPTHBUFFER_ZBUFFER_COMPARE_TO_BIAS  0x3
 
216
#define GR_DEPTHBUFFER_WBUFFER_COMPARE_TO_BIAS  0x4
 
217
 
 
218
typedef FxI32 GrDitherMode_t;
 
219
#define GR_DITHER_DISABLE       0x0
 
220
#define GR_DITHER_2x2           0x1
 
221
#define GR_DITHER_4x4           0x2
 
222
 
 
223
typedef FxI32 GrStippleMode_t;
 
224
#define GR_STIPPLE_DISABLE      0x0
 
225
#define GR_STIPPLE_PATTERN      0x1
 
226
#define GR_STIPPLE_ROTATE       0x2
 
227
 
 
228
typedef FxI32 GrFogMode_t;
 
229
#define GR_FOG_DISABLE                     0x0
 
230
#define GR_FOG_WITH_TABLE_ON_FOGCOORD_EXT  0x1
 
231
#define GR_FOG_WITH_TABLE_ON_Q             0x2
 
232
#define GR_FOG_WITH_TABLE_ON_W             GR_FOG_WITH_TABLE_ON_Q
 
233
#define GR_FOG_WITH_ITERATED_Z             0x3
 
234
#define GR_FOG_WITH_ITERATED_ALPHA_EXT     0x4
 
235
#define GR_FOG_MULT2                       0x100
 
236
#define GR_FOG_ADD2                        0x200
 
237
 
 
238
typedef FxU32 GrLock_t;
 
239
#define GR_LFB_READ_ONLY  0x00
 
240
#define GR_LFB_WRITE_ONLY 0x01
 
241
#define GR_LFB_IDLE       0x00
 
242
#define GR_LFB_NOIDLE     0x10
 
243
 
 
244
typedef FxI32 GrLfbBypassMode_t;
 
245
#define GR_LFBBYPASS_DISABLE    0x0
 
246
#define GR_LFBBYPASS_ENABLE     0x1
 
247
 
 
248
typedef FxI32 GrLfbWriteMode_t;
 
249
#define GR_LFBWRITEMODE_565        0x0
 
250
#define GR_LFBWRITEMODE_555        0x1
 
251
#define GR_LFBWRITEMODE_1555       0x2
 
252
#define GR_LFBWRITEMODE_RESERVED1  0x3
 
253
#define GR_LFBWRITEMODE_888        0x4
 
254
#define GR_LFBWRITEMODE_8888       0x5
 
255
#define GR_LFBWRITEMODE_RESERVED2  0x6
 
256
#define GR_LFBWRITEMODE_RESERVED3  0x7
 
257
#define GR_LFBWRITEMODE_RESERVED4  0x8
 
258
#define GR_LFBWRITEMODE_RESERVED5  0x9
 
259
#define GR_LFBWRITEMODE_RESERVED6  0xa
 
260
#define GR_LFBWRITEMODE_RESERVED7  0xb
 
261
#define GR_LFBWRITEMODE_565_DEPTH  0xc
 
262
#define GR_LFBWRITEMODE_555_DEPTH  0xd
 
263
#define GR_LFBWRITEMODE_1555_DEPTH 0xe
 
264
#define GR_LFBWRITEMODE_ZA16       0xf
 
265
#define GR_LFBWRITEMODE_ANY        0xFF
 
266
 
 
267
typedef FxI32 GrOriginLocation_t;
 
268
#define GR_ORIGIN_UPPER_LEFT    0x0
 
269
#define GR_ORIGIN_LOWER_LEFT    0x1
 
270
#define GR_ORIGIN_ANY           0xFF
 
271
 
 
272
typedef struct
 
273
{
 
274
   int size;
 
275
   void *lfbPtr;
 
276
   FxU32 strideInBytes;
 
277
   GrLfbWriteMode_t writeMode;
 
278
   GrOriginLocation_t origin;
 
279
}
 
280
GrLfbInfo_t;
 
281
 
 
282
typedef FxI32 GrLOD_t;
 
283
#define GR_LOD_LOG2_2048        0xb
 
284
#define GR_LOD_LOG2_1024        0xa
 
285
#define GR_LOD_LOG2_512         0x9
 
286
#define GR_LOD_LOG2_256         0x8
 
287
#define GR_LOD_LOG2_128         0x7
 
288
#define GR_LOD_LOG2_64          0x6
 
289
#define GR_LOD_LOG2_32          0x5
 
290
#define GR_LOD_LOG2_16          0x4
 
291
#define GR_LOD_LOG2_8           0x3
 
292
#define GR_LOD_LOG2_4           0x2
 
293
#define GR_LOD_LOG2_2           0x1
 
294
#define GR_LOD_LOG2_1           0x0
 
295
 
 
296
typedef FxI32 GrMipMapMode_t;
 
297
#define GR_MIPMAP_DISABLE               0x0
 
298
#define GR_MIPMAP_NEAREST               0x1
 
299
#define GR_MIPMAP_NEAREST_DITHER        0x2
 
300
 
 
301
typedef FxI32 GrSmoothingMode_t;
 
302
#define GR_SMOOTHING_DISABLE    0x0
 
303
#define GR_SMOOTHING_ENABLE     0x1
 
304
 
 
305
typedef FxI32 GrTextureClampMode_t;
 
306
#define GR_TEXTURECLAMP_WRAP        0x0
 
307
#define GR_TEXTURECLAMP_CLAMP       0x1
 
308
#define GR_TEXTURECLAMP_MIRROR_EXT  0x2
 
309
 
 
310
typedef FxI32 GrTextureCombineFnc_t;
 
311
#define GR_TEXTURECOMBINE_ZERO          0x0
 
312
#define GR_TEXTURECOMBINE_DECAL         0x1
 
313
#define GR_TEXTURECOMBINE_OTHER         0x2
 
314
#define GR_TEXTURECOMBINE_ADD           0x3
 
315
#define GR_TEXTURECOMBINE_MULTIPLY      0x4
 
316
#define GR_TEXTURECOMBINE_SUBTRACT      0x5
 
317
#define GR_TEXTURECOMBINE_DETAIL        0x6
 
318
#define GR_TEXTURECOMBINE_DETAIL_OTHER  0x7
 
319
#define GR_TEXTURECOMBINE_TRILINEAR_ODD 0x8
 
320
#define GR_TEXTURECOMBINE_TRILINEAR_EVEN 0x9
 
321
#define GR_TEXTURECOMBINE_ONE           0xa
 
322
 
 
323
typedef FxI32 GrTextureFilterMode_t;
 
324
#define GR_TEXTUREFILTER_POINT_SAMPLED  0x0
 
325
#define GR_TEXTUREFILTER_BILINEAR       0x1
 
326
 
 
327
typedef FxI32 GrTextureFormat_t;
 
328
#define GR_TEXFMT_8BIT                  0x0
 
329
#define GR_TEXFMT_RGB_332 GR_TEXFMT_8BIT
 
330
#define GR_TEXFMT_YIQ_422               0x1
 
331
#define GR_TEXFMT_ALPHA_8               0x2
 
332
#define GR_TEXFMT_INTENSITY_8           0x3
 
333
#define GR_TEXFMT_ALPHA_INTENSITY_44    0x4
 
334
#define GR_TEXFMT_P_8                   0x5
 
335
#define GR_TEXFMT_RSVD0                 0x6
 
336
#define GR_TEXFMT_RSVD1                 0x7
 
337
#define GR_TEXFMT_16BIT                 0x8
 
338
#define GR_TEXFMT_ARGB_8332 GR_TEXFMT_16BIT
 
339
#define GR_TEXFMT_AYIQ_8422             0x9
 
340
#define GR_TEXFMT_RGB_565               0xa
 
341
#define GR_TEXFMT_ARGB_1555             0xb
 
342
#define GR_TEXFMT_ARGB_4444             0xc
 
343
#define GR_TEXFMT_ALPHA_INTENSITY_88    0xd
 
344
#define GR_TEXFMT_AP_88                 0xe
 
345
#define GR_TEXFMT_RSVD2                 0xf
 
346
#define GR_TEXFMT_ARGB_CMP_FXT1           0x11
 
347
#define GR_TEXFMT_ARGB_8888               0x12
 
348
#define GR_TEXFMT_YUYV_422                0x13
 
349
#define GR_TEXFMT_UYVY_422                0x14
 
350
#define GR_TEXFMT_AYUV_444                0x15
 
351
#define GR_TEXFMT_ARGB_CMP_DXT1           0x16
 
352
#define GR_TEXFMT_ARGB_CMP_DXT2           0x17
 
353
#define GR_TEXFMT_ARGB_CMP_DXT3           0x18
 
354
#define GR_TEXFMT_ARGB_CMP_DXT4           0x19
 
355
#define GR_TEXFMT_ARGB_CMP_DXT5           0x1A
 
356
 
 
357
typedef FxU32 GrTexTable_t;
 
358
#define GR_TEXTABLE_NCC0                 0x0
 
359
#define GR_TEXTABLE_NCC1                 0x1
 
360
#define GR_TEXTABLE_PALETTE              0x2
 
361
#define GR_TEXTABLE_PALETTE_6666_EXT     0x3
 
362
 
 
363
typedef FxU32 GrNCCTable_t;
 
364
#define GR_NCCTABLE_NCC0    0x0
 
365
#define GR_NCCTABLE_NCC1    0x1
 
366
 
 
367
typedef FxU32 GrTexBaseRange_t;
 
368
#define GR_TEXBASE_256      0x3
 
369
#define GR_TEXBASE_128      0x2
 
370
#define GR_TEXBASE_64       0x1
 
371
#define GR_TEXBASE_32_TO_1  0x0
 
372
#define GR_TEXBASE_2048     0x7
 
373
#define GR_TEXBASE_1024     0x6
 
374
#define GR_TEXBASE_512      0x5
 
375
#define GR_TEXBASE_256_TO_1 0x4
 
376
 
 
377
typedef FxU32 GrEnableMode_t;
 
378
#define GR_MODE_DISABLE     0x0
 
379
#define GR_MODE_ENABLE      0x1
 
380
 
 
381
#define GR_AA_ORDERED            0x01
 
382
#define GR_ALLOW_MIPMAP_DITHER   0x02
 
383
#define GR_PASSTHRU              0x03
 
384
#define GR_SHAMELESS_PLUG        0x04
 
385
#define GR_VIDEO_SMOOTHING       0x05
 
386
 
 
387
typedef FxU32 GrCoordinateSpaceMode_t;
 
388
#define GR_WINDOW_COORDS    0x00
 
389
#define GR_CLIP_COORDS      0x01
 
390
 
 
391
/* Parameters for strips */
 
392
#define GR_PARAM_XY       0x01
 
393
#define GR_PARAM_Z        0x02
 
394
#define GR_PARAM_W        0x03
 
395
#define GR_PARAM_Q        0x04
 
396
#define GR_PARAM_FOG_EXT  0x05
 
397
 
 
398
#define GR_PARAM_A        0x10
 
399
 
 
400
#define GR_PARAM_RGB      0x20
 
401
 
 
402
#define GR_PARAM_PARGB    0x30
 
403
 
 
404
#define GR_PARAM_ST0      0x40
 
405
#define GR_PARAM_ST1      GR_PARAM_ST0+1
 
406
#define GR_PARAM_ST2      GR_PARAM_ST0+2
 
407
 
 
408
#define GR_PARAM_Q0       0x50
 
409
#define GR_PARAM_Q1       GR_PARAM_Q0+1
 
410
#define GR_PARAM_Q2       GR_PARAM_Q0+2
 
411
 
 
412
#define GR_PARAM_DISABLE  0x00
 
413
#define GR_PARAM_ENABLE   0x01
 
414
 
 
415
/* grDrawVertexArray/grDrawVertexArrayContiguous */
 
416
#define GR_POINTS                        0
 
417
#define GR_LINE_STRIP                    1
 
418
#define GR_LINES                         2
 
419
#define GR_POLYGON                       3
 
420
#define GR_TRIANGLE_STRIP                4
 
421
#define GR_TRIANGLE_FAN                  5
 
422
#define GR_TRIANGLES                     6
 
423
#define GR_TRIANGLE_STRIP_CONTINUE       7
 
424
#define GR_TRIANGLE_FAN_CONTINUE         8
 
425
 
 
426
/* grGet/grReset */
 
427
#define GR_BITS_DEPTH                   0x01
 
428
#define GR_BITS_RGBA                    0x02
 
429
#define GR_FIFO_FULLNESS                0x03
 
430
#define GR_FOG_TABLE_ENTRIES            0x04
 
431
#define GR_GAMMA_TABLE_ENTRIES          0x05
 
432
#define GR_GLIDE_STATE_SIZE             0x06
 
433
#define GR_GLIDE_VERTEXLAYOUT_SIZE      0x07
 
434
#define GR_IS_BUSY                      0x08
 
435
#define GR_LFB_PIXEL_PIPE               0x09
 
436
#define GR_MAX_TEXTURE_SIZE             0x0a
 
437
#define GR_MAX_TEXTURE_ASPECT_RATIO     0x0b
 
438
#define GR_MEMORY_FB                    0x0c
 
439
#define GR_MEMORY_TMU                   0x0d
 
440
#define GR_MEMORY_UMA                   0x0e
 
441
#define GR_NUM_BOARDS                   0x0f
 
442
#define GR_NON_POWER_OF_TWO_TEXTURES    0x10
 
443
#define GR_NUM_FB                       0x11
 
444
#define GR_NUM_SWAP_HISTORY_BUFFER      0x12
 
445
#define GR_NUM_TMU                      0x13
 
446
#define GR_PENDING_BUFFERSWAPS          0x14
 
447
#define GR_REVISION_FB                  0x15
 
448
#define GR_REVISION_TMU                 0x16
 
449
#define GR_STATS_LINES                  0x17
 
450
#define GR_STATS_PIXELS_AFUNC_FAIL      0x18
 
451
#define GR_STATS_PIXELS_CHROMA_FAIL     0x19
 
452
#define GR_STATS_PIXELS_DEPTHFUNC_FAIL  0x1a
 
453
#define GR_STATS_PIXELS_IN              0x1b
 
454
#define GR_STATS_PIXELS_OUT             0x1c
 
455
#define GR_STATS_PIXELS                 0x1d
 
456
#define GR_STATS_POINTS                 0x1e
 
457
#define GR_STATS_TRIANGLES_IN           0x1f
 
458
#define GR_STATS_TRIANGLES_OUT          0x20
 
459
#define GR_STATS_TRIANGLES              0x21
 
460
#define GR_SWAP_HISTORY                 0x22
 
461
#define GR_SUPPORTS_PASSTHRU            0x23
 
462
#define GR_TEXTURE_ALIGN                0x24
 
463
#define GR_VIDEO_POSITION               0x25
 
464
#define GR_VIEWPORT                     0x26
 
465
#define GR_WDEPTH_MIN_MAX               0x27
 
466
#define GR_ZDEPTH_MIN_MAX               0x28
 
467
#define GR_VERTEX_PARAMETER             0x29
 
468
#define GR_BITS_GAMMA                   0x2a
 
469
#define GR_GET_RESERVED_1               0x1000
 
470
 
 
471
/* grGetString types */
 
472
#define GR_EXTENSION                    0xa0
 
473
#define GR_HARDWARE                     0xa1
 
474
#define GR_RENDERER                     0xa2
 
475
#define GR_VENDOR                       0xa3
 
476
#define GR_VERSION                      0xa4
 
477
 
 
478
typedef FxI32 GrScreenRefresh_t;
 
479
#define GR_REFRESH_NONE   0xff
 
480
 
 
481
typedef FxI32 GrScreenResolution_t;
 
482
#define GR_RESOLUTION_NONE      0xff
 
483
 
 
484
typedef struct
 
485
{
 
486
   GrLOD_t smallLodLog2;
 
487
   GrLOD_t largeLodLog2;
 
488
   GrAspectRatio_t aspectRatioLog2;
 
489
   GrTextureFormat_t format;
 
490
   void *data;
 
491
}
 
492
GrTexInfo;
 
493
 
 
494
typedef struct GrSstPerfStats_s
 
495
{
 
496
   FxU32 pixelsIn;
 
497
   FxU32 chromaFail;
 
498
   FxU32 zFuncFail;
 
499
   FxU32 aFuncFail;
 
500
   FxU32 pixelsOut;
 
501
}
 
502
GrSstPerfStats_t;
 
503
 
 
504
typedef struct
 
505
{
 
506
   GrScreenResolution_t resolution;
 
507
   GrScreenRefresh_t refresh;
 
508
   int numColorBuffers;
 
509
   int numAuxBuffers;
 
510
}
 
511
GrResolution;
 
512
 
 
513
typedef GrResolution GlideResolution;
 
514
#define GR_QUERY_ANY  ((FxU32)(~0))
 
515
 
 
516
typedef FxU32 GrLfbSrcFmt_t;
 
517
#define GR_LFB_SRC_FMT_565          0x00
 
518
#define GR_LFB_SRC_FMT_555          0x01
 
519
#define GR_LFB_SRC_FMT_1555         0x02
 
520
#define GR_LFB_SRC_FMT_888          0x04
 
521
#define GR_LFB_SRC_FMT_8888         0x05
 
522
#define GR_LFB_SRC_FMT_565_DEPTH    0x0c
 
523
#define GR_LFB_SRC_FMT_555_DEPTH    0x0d
 
524
#define GR_LFB_SRC_FMT_1555_DEPTH   0x0e
 
525
#define GR_LFB_SRC_FMT_ZA16         0x0f
 
526
#define GR_LFB_SRC_FMT_RLE16        0x80
 
527
 
 
528
typedef FxU32 GrPixelFormat_t;
 
529
#define GR_PIXFMT_I_8                           0x0001
 
530
#define GR_PIXFMT_AI_88                         0x0002
 
531
#define GR_PIXFMT_RGB_565                       0x0003
 
532
#define GR_PIXFMT_ARGB_1555                     0x0004
 
533
#define GR_PIXFMT_ARGB_8888                     0x0005
 
534
#define GR_PIXFMT_AA_2_RGB_565                  0x0006
 
535
#define GR_PIXFMT_AA_2_ARGB_1555                0x0007
 
536
#define GR_PIXFMT_AA_2_ARGB_8888                0x0008
 
537
#define GR_PIXFMT_AA_4_RGB_565                  0x0009
 
538
#define GR_PIXFMT_AA_4_ARGB_1555                0x000a
 
539
#define GR_PIXFMT_AA_4_ARGB_8888                0x000b
 
540
 
 
541
#define GR_LFBWRITEMODE_Z32                     0x0008
 
542
 
 
543
typedef FxU32 GrAAMode_t;
 
544
#define GR_AA_NONE                              0x0000
 
545
#define GR_AA_4SAMPLES                          0x0001
 
546
 
 
547
typedef FxU8 GrStencil_t;
 
548
 
 
549
typedef FxU32 GrStencilOp_t;
 
550
#define GR_STENCILOP_KEEP        0x00
 
551
#define GR_STENCILOP_ZERO        0x01
 
552
#define GR_STENCILOP_REPLACE     0x02
 
553
#define GR_STENCILOP_INCR_CLAMP  0x03
 
554
#define GR_STENCILOP_DECR_CLAMP  0x04
 
555
#define GR_STENCILOP_INVERT      0x05
 
556
#define GR_STENCILOP_INCR_WRAP   0x06
 
557
#define GR_STENCILOP_DECR_WRAP   0x07
 
558
 
 
559
#define GR_TEXTURE_UMA_EXT       0x06
 
560
#define GR_STENCIL_MODE_EXT      0x07
 
561
#define GR_OPENGL_MODE_EXT       0x08
 
562
 
 
563
typedef FxU32 GrCCUColor_t;
 
564
typedef FxU32 GrACUColor_t;
 
565
typedef FxU32 GrTCCUColor_t;
 
566
typedef FxU32 GrTACUColor_t;
 
567
#define GR_CMBX_ZERO                      0x00
 
568
#define GR_CMBX_TEXTURE_ALPHA             0x01
 
569
#define GR_CMBX_ALOCAL                    0x02
 
570
#define GR_CMBX_AOTHER                    0x03
 
571
#define GR_CMBX_B                         0x04
 
572
#define GR_CMBX_CONSTANT_ALPHA            0x05
 
573
#define GR_CMBX_CONSTANT_COLOR            0x06
 
574
#define GR_CMBX_DETAIL_FACTOR             0x07
 
575
#define GR_CMBX_ITALPHA                   0x08
 
576
#define GR_CMBX_ITRGB                     0x09
 
577
#define GR_CMBX_LOCAL_TEXTURE_ALPHA       0x0a
 
578
#define GR_CMBX_LOCAL_TEXTURE_RGB         0x0b
 
579
#define GR_CMBX_LOD_FRAC                  0x0c
 
580
#define GR_CMBX_OTHER_TEXTURE_ALPHA       0x0d
 
581
#define GR_CMBX_OTHER_TEXTURE_RGB         0x0e
 
582
#define GR_CMBX_TEXTURE_RGB               0x0f
 
583
#define GR_CMBX_TMU_CALPHA                0x10
 
584
#define GR_CMBX_TMU_CCOLOR                0x11
 
585
 
 
586
typedef FxU32 GrCombineMode_t;
 
587
#define GR_FUNC_MODE_ZERO                 0x00
 
588
#define GR_FUNC_MODE_X                    0x01
 
589
#define GR_FUNC_MODE_ONE_MINUS_X          0x02
 
590
#define GR_FUNC_MODE_NEGATIVE_X           0x03
 
591
#define GR_FUNC_MODE_X_MINUS_HALF         0x04
 
592
 
 
593
typedef FxU32 GrAlphaBlendOp_t;
 
594
#define GR_BLEND_OP_ADD                   0x00
 
595
#define GR_BLEND_OP_SUB                   0x01
 
596
#define GR_BLEND_OP_REVSUB                0x02
 
597
 
 
598
typedef struct
 
599
{
 
600
   FxU32 data[256];
 
601
}
 
602
GuTexPalette;
 
603
 
 
604
typedef void (*GrErrorCallbackFnc_t) (const char *string, FxBool fatal);
 
605
 
 
606
#endif