2
* This file defines macros and types necessary for accessing glide3.
5
/* $XFree86: xc/lib/GL/mesa/src/drv/tdfx/tdfx_glide.h,v 1.1 2002/02/22 21:45:03 dawes Exp $ */
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;
20
typedef signed long FxI32;
21
typedef unsigned long FxU32;
23
typedef unsigned long AnyPtr;
25
typedef float FxFloat;
26
typedef double FxDouble;
28
typedef unsigned long FxColor_t;
35
typedef FxU32 GrColor_t;
36
typedef FxU8 GrAlpha_t;
37
typedef FxU32 GrMipMapId_t;
38
typedef FxU32 GrStipplePattern_t;
40
typedef FxU32 GrContext_t;
41
typedef int (FX_CALL * GrProc) (void);
46
#define FXBIT(i) (1L << (i))
48
#define GR_NULL_MIPMAP_HANDLE ((GrMipMapId_t) -1)
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 )
54
typedef FxI32 GrChipID_t;
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
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
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
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
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
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
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
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
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
173
typedef FxI32 GrChromakeyMode_t;
174
#define GR_CHROMAKEY_DISABLE 0x0
175
#define GR_CHROMAKEY_ENABLE 0x1
177
typedef FxI32 GrChromaRangeMode_t;
178
#define GR_CHROMARANGE_RGB_ALL_EXT 0x0
180
#define GR_CHROMARANGE_DISABLE_EXT 0x00
181
#define GR_CHROMARANGE_ENABLE_EXT 0x01
183
typedef FxI32 GrTexChromakeyMode_t;
184
#define GR_TEXCHROMA_DISABLE_EXT 0x0
185
#define GR_TEXCHROMA_ENABLE_EXT 0x1
187
#define GR_TEXCHROMARANGE_RGB_ALL_EXT 0x0
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
199
typedef FxI32 GrColorFormat_t;
200
#define GR_COLORFORMAT_ARGB 0x0
201
#define GR_COLORFORMAT_ABGR 0x1
203
#define GR_COLORFORMAT_RGBA 0x2
204
#define GR_COLORFORMAT_BGRA 0x3
206
typedef FxI32 GrCullMode_t;
207
#define GR_CULL_DISABLE 0x0
208
#define GR_CULL_NEGATIVE 0x1
209
#define GR_CULL_POSITIVE 0x2
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
218
typedef FxI32 GrDitherMode_t;
219
#define GR_DITHER_DISABLE 0x0
220
#define GR_DITHER_2x2 0x1
221
#define GR_DITHER_4x4 0x2
223
typedef FxI32 GrStippleMode_t;
224
#define GR_STIPPLE_DISABLE 0x0
225
#define GR_STIPPLE_PATTERN 0x1
226
#define GR_STIPPLE_ROTATE 0x2
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
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
244
typedef FxI32 GrLfbBypassMode_t;
245
#define GR_LFBBYPASS_DISABLE 0x0
246
#define GR_LFBBYPASS_ENABLE 0x1
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
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
277
GrLfbWriteMode_t writeMode;
278
GrOriginLocation_t origin;
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
296
typedef FxI32 GrMipMapMode_t;
297
#define GR_MIPMAP_DISABLE 0x0
298
#define GR_MIPMAP_NEAREST 0x1
299
#define GR_MIPMAP_NEAREST_DITHER 0x2
301
typedef FxI32 GrSmoothingMode_t;
302
#define GR_SMOOTHING_DISABLE 0x0
303
#define GR_SMOOTHING_ENABLE 0x1
305
typedef FxI32 GrTextureClampMode_t;
306
#define GR_TEXTURECLAMP_WRAP 0x0
307
#define GR_TEXTURECLAMP_CLAMP 0x1
308
#define GR_TEXTURECLAMP_MIRROR_EXT 0x2
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
323
typedef FxI32 GrTextureFilterMode_t;
324
#define GR_TEXTUREFILTER_POINT_SAMPLED 0x0
325
#define GR_TEXTUREFILTER_BILINEAR 0x1
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
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
363
typedef FxU32 GrNCCTable_t;
364
#define GR_NCCTABLE_NCC0 0x0
365
#define GR_NCCTABLE_NCC1 0x1
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
377
typedef FxU32 GrEnableMode_t;
378
#define GR_MODE_DISABLE 0x0
379
#define GR_MODE_ENABLE 0x1
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
387
typedef FxU32 GrCoordinateSpaceMode_t;
388
#define GR_WINDOW_COORDS 0x00
389
#define GR_CLIP_COORDS 0x01
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
398
#define GR_PARAM_A 0x10
400
#define GR_PARAM_RGB 0x20
402
#define GR_PARAM_PARGB 0x30
404
#define GR_PARAM_ST0 0x40
405
#define GR_PARAM_ST1 GR_PARAM_ST0+1
406
#define GR_PARAM_ST2 GR_PARAM_ST0+2
408
#define GR_PARAM_Q0 0x50
409
#define GR_PARAM_Q1 GR_PARAM_Q0+1
410
#define GR_PARAM_Q2 GR_PARAM_Q0+2
412
#define GR_PARAM_DISABLE 0x00
413
#define GR_PARAM_ENABLE 0x01
415
/* grDrawVertexArray/grDrawVertexArrayContiguous */
417
#define GR_LINE_STRIP 1
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
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
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
478
typedef FxI32 GrScreenRefresh_t;
479
#define GR_REFRESH_NONE 0xff
481
typedef FxI32 GrScreenResolution_t;
482
#define GR_RESOLUTION_NONE 0xff
486
GrLOD_t smallLodLog2;
487
GrLOD_t largeLodLog2;
488
GrAspectRatio_t aspectRatioLog2;
489
GrTextureFormat_t format;
494
typedef struct GrSstPerfStats_s
506
GrScreenResolution_t resolution;
507
GrScreenRefresh_t refresh;
513
typedef GrResolution GlideResolution;
514
#define GR_QUERY_ANY ((FxU32)(~0))
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
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
541
#define GR_LFBWRITEMODE_Z32 0x0008
543
typedef FxU32 GrAAMode_t;
544
#define GR_AA_NONE 0x0000
545
#define GR_AA_4SAMPLES 0x0001
547
typedef FxU8 GrStencil_t;
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
559
#define GR_TEXTURE_UMA_EXT 0x06
560
#define GR_STENCIL_MODE_EXT 0x07
561
#define GR_OPENGL_MODE_EXT 0x08
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
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
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
604
typedef void (*GrErrorCallbackFnc_t) (const char *string, FxBool fatal);