Changeset 3598 for trunk/src/opengl/mesa/3dfx/fxglidew.h
- Timestamp:
- May 23, 2000, 10:41:28 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/opengl/mesa/3dfx/fxglidew.h
r2938 r3598 3 3 /* 4 4 * Mesa 3-D graphics library 5 * Version: 3. 15 * Version: 3.3 6 6 * 7 7 * Copyright (C) 1999 Brian Paul All Rights Reserved. … … 49 49 #include <glide.h> 50 50 51 /* 52 * General context: 51 /* 52 * General context: 53 53 */ 54 54 #if !defined(FX_GLIDE3) 55 typedef FxU32 FX_GrContext_t;/* Not used in Glide2 */55 typedef FxU32 FX_GrContext_t; /* Not used in Glide2 */ 56 56 #else 57 57 typedef GrContext_t FX_GrContext_t; 58 58 #endif 59 59 60 /* 61 * Glide3 emulation on Glide2: 60 /* 61 * Glide3 emulation on Glide2: 62 62 */ 63 63 #if !defined(FX_GLIDE3) 64 /* Constanst for FX_grGetInteger( ) */ 65 #define FX_FOG_TABLE_ENTRIES 0x0004 /* The number of entries in the hardware fog table. */ 66 #define FX_GLIDE_STATE_SIZE 0x0006 /* Size of buffer, in bytes, needed to save Glide state. */ 67 #define FX_LFB_PIXEL_PIPE 0x0009 /* 1 if LFB writes can go through the 3D pixel pipe. */ 68 #define FX_PENDING_BUFFERSWAPS 0x0014 /* The number of buffer swaps pending. */ 69 #else 70 #define FX_FOG_TABLE_ENTRIES GR_FOG_TABLE_ENTRIES 71 #define FX_GLIDE_STATE_SIZE GR_GLIDE_STATE_SIZE 72 #define FX_LFB_PIXEL_PIPE GR_LFB_PIXEL_PIPE 73 #define FX_PENDING_BUFFERSWAPS GR_PENDING_BUFFERSWAPS 64 /* Constanst for FX_grGetInteger( ) */ 65 #define FX_FOG_TABLE_ENTRIES 0x0004 /* The number of entries in the hardware fog table. */ 66 #define FX_GLIDE_STATE_SIZE 0x0006 /* Size of buffer, in bytes, needed to save Glide state. */ 67 #define FX_LFB_PIXEL_PIPE 0x0009 /* 1 if LFB writes can go through the 3D pixel pipe. */ 68 #define FX_PENDING_BUFFERSWAPS 0x0014 /* The number of buffer swaps pending. */ 69 #define FX_TEXTURE_ALIGN 0x0024 /* The required alignment for textures */ 70 #else 71 #define FX_FOG_TABLE_ENTRIES GR_FOG_TABLE_ENTRIES 72 #define FX_GLIDE_STATE_SIZE GR_GLIDE_STATE_SIZE 73 #define FX_LFB_PIXEL_PIPE GR_LFB_PIXEL_PIPE 74 #define FX_PENDING_BUFFERSWAPS GR_PENDING_BUFFERSWAPS 75 #define FX_TEXTURE_ALIGN GR_TEXTURE_ALIGN 74 76 #endif 75 77 76 78 /* 77 79 * Genral warper functions for Glide2/Glide3: 78 */ 80 */ 79 81 extern FxI32 FX_grGetInteger(FxU32 pname); 82 extern FxI32 FX_grGetInteger_NoLock(FxU32 pname); 80 83 81 84 /* … … 92 95 #define GR_ASPECT_1x8 GR_ASPECT_LOG2_1x8 93 96 94 #define GR_LOD_256 95 #define GR_LOD_128 96 #define GR_LOD_64 97 #define GR_LOD_32 GR_LOD_LOG2_3298 #define GR_LOD_16 99 #define GR_LOD_8 100 #define GR_LOD_4 101 #define GR_LOD_2 102 #define GR_LOD_1 97 #define GR_LOD_256 GR_LOD_LOG2_256 98 #define GR_LOD_128 GR_LOD_LOG2_128 99 #define GR_LOD_64 GR_LOD_LOG2_64 100 #define GR_LOD_32 GR_LOD_LOG2_32 101 #define GR_LOD_16 GR_LOD_LOG2_16 102 #define GR_LOD_8 GR_LOD_LOG2_8 103 #define GR_LOD_4 GR_LOD_LOG2_4 104 #define GR_LOD_2 GR_LOD_LOG2_2 105 #define GR_LOD_1 GR_LOD_LOG2_1 103 106 104 107 #define GR_FOG_WITH_TABLE GR_FOG_WITH_TABLE_ON_Q … … 164 167 #define GR_STWHINT_ST_DIFF_TMU2 FXBIT(6) 165 168 166 #define GR_CONTROL_ACTIVATE 167 #define GR_CONTROL_DEACTIVATE 168 169 #define GrState 169 #define GR_CONTROL_ACTIVATE 1 170 #define GR_CONTROL_DEACTIVATE 0 171 172 #define GrState void 170 173 171 174 /* … … 174 177 typedef struct { 175 178 float sow; /* s texture ordinate (s over w) */ 176 float tow; /* t texture ordinate (t over w) */ 179 float tow; /* t texture ordinate (t over w) */ 177 180 float oow; /* 1/w (used mipmapping - really 0xfff/w) */ 178 181 } GrTmuVertex; … … 202 205 #define GR_VERTEX_TOW_TMU1_OFFSET 9 203 206 #define GR_VERTEX_OOW_TMU1_OFFSET 10 204 #define GR_VERTEX_Z_OFFSET 205 206 #define GET_PARGB(v) 207 #define GR_VERTEX_Z_OFFSET 11 208 209 #define GET_PARGB(v) ((FxU32*)(v))[GR_VERTEX_PARGB_OFFSET] 207 210 /* GET_PA: returns the alpha component */ 208 211 #if GLIDE_ENDIAN == GLIDE_ENDIAN_BIG 209 #define GET_PA(v) 210 #else 211 #define GET_PA(v) 212 #endif 213 #define MESACOLOR2PARGB(c) 214 #define PACK_4F_ARGB(dest,a,r,g,b) { 215 const GLuint cr = (int)r;\216 const GLuint cg = (int)g;\217 const GLuint ca = (int)a;\218 const GLuint cb = (int)b;\219 dest = ca << 24 | cr << 16 | cg << 8 | cb;\220 212 #define GET_PA(v) ((FxU8*)(v))[GR_VERTEX_PARGB_OFFSET*4] 213 #else 214 #define GET_PA(v) ((FxU8*)(v))[GR_VERTEX_PARGB_OFFSET*4+3] 215 #endif 216 #define MESACOLOR2PARGB(c) (c[ACOMP] << 24 | c[GCOMP] << 16 | c[GCOMP] << 8 | c[BCOMP]) 217 #define PACK_4F_ARGB(dest,a,r,g,b) { \ 218 const GLuint cr = (int)r; \ 219 const GLuint cg = (int)g; \ 220 const GLuint ca = (int)a; \ 221 const GLuint cb = (int)b; \ 222 dest = ca << 24 | cr << 16 | cg << 8 | cb; \ 223 } 221 224 222 225 #else /* FX_USE_PARGB */ … … 256 259 */ 257 260 #if defined(FX_GLIDE3) 258 #define FX_grTexDownloadTable(TMU,type,data) 259 do { 260 BEGIN_BOARD_LOCK(); 261 grTexDownloadTable(type,data); 262 END_BOARD_LOCK(); 261 #define FX_grTexDownloadTable(TMU,type,data) \ 262 do { \ 263 BEGIN_BOARD_LOCK(); \ 264 grTexDownloadTable(type,data); \ 265 END_BOARD_LOCK(); \ 263 266 } while (0); 264 267 #define FX_grTexDownloadTable_NoLock(TMU,type,data) \ 265 268 grTexDownloadTable(type, data) 266 269 #else 267 #define FX_grTexDownloadTable(TMU,type,data) 268 do { 269 BEGIN_BOARD_LOCK(); 270 grTexDownloadTable(TMU,type,data); 271 END_BOARD_LOCK(); 270 #define FX_grTexDownloadTable(TMU,type,data) \ 271 do { \ 272 BEGIN_BOARD_LOCK(); \ 273 grTexDownloadTable(TMU,type,data); \ 274 END_BOARD_LOCK(); \ 272 275 } while (0); 273 276 #define FX_grTexDownloadTable_NoLock grTexDownloadTable … … 278 281 */ 279 282 #if defined(FX_GLIDE3) 280 #define FX_grFlush() 281 do { 283 #define FX_grFlush() \ 284 do { \ 282 285 BEGIN_BOARD_LOCK(); \ 283 grFlush(); 284 END_BOARD_LOCK(); 285 } while (0) 286 #else 287 #define FX_grFlush() 288 do { 286 grFlush(); \ 287 END_BOARD_LOCK(); \ 288 } while (0) 289 #else 290 #define FX_grFlush() \ 291 do { \ 289 292 BEGIN_BOARD_LOCK(); \ 290 grSstIdle(); 291 END_BOARD_LOCK(); 292 } while (0) 293 #endif 294 295 #define FX_grFinish() 296 do { 293 grSstIdle(); \ 294 END_BOARD_LOCK(); \ 295 } while (0) 296 #endif 297 298 #define FX_grFinish() \ 299 do { \ 297 300 BEGIN_BOARD_LOCK(); \ 298 grFinish(); 299 END_BOARD_LOCK(); 301 grFinish(); \ 302 END_BOARD_LOCK(); \ 300 303 } while (0) 301 304 … … 304 307 */ 305 308 #if defined(FX_GLIDE3) 306 #define FX_grLfbWriteRegion(dst_buffer,dst_x,dst_y,src_format,src_width,src_height,src_stride,src_data) 307 do { 308 BEGIN_BOARD_LOCK(); 309 grLfbWriteRegion(dst_buffer,dst_x,dst_y,src_format,src_width,src_height,FXFALSE,src_stride,src_data); 310 END_BOARD_LOCK(); 309 #define FX_grLfbWriteRegion(dst_buffer,dst_x,dst_y,src_format,src_width,src_height,src_stride,src_data) \ 310 do { \ 311 BEGIN_BOARD_LOCK(); \ 312 grLfbWriteRegion(dst_buffer,dst_x,dst_y,src_format,src_width,src_height,FXFALSE,src_stride,src_data); \ 313 END_BOARD_LOCK(); \ 311 314 } while(0) 312 315 #else 313 #define FX_grLfbWriteRegion(dst_buffer,dst_x,dst_y,src_format,src_width,src_height,src_stride,src_data) 314 do { 315 BEGIN_BOARD_LOCK(); 316 grLfbWriteRegion(dst_buffer,dst_x,dst_y,src_format,src_width,src_height,src_stride,src_data); 317 END_BOARD_LOCK(); 316 #define FX_grLfbWriteRegion(dst_buffer,dst_x,dst_y,src_format,src_width,src_height,src_stride,src_data) \ 317 do { \ 318 BEGIN_BOARD_LOCK(); \ 319 grLfbWriteRegion(dst_buffer,dst_x,dst_y,src_format,src_width,src_height,src_stride,src_data); \ 320 END_BOARD_LOCK(); \ 318 321 } while (0) 319 322 #endif … … 322 325 * Read region 323 326 */ 324 #define FX_grLfbReadRegion(src_buffer,src_x,src_y,src_width,src_height,dst_stride,dst_data) 325 do { 326 BEGIN_BOARD_LOCK(); 327 grLfbReadRegion(src_buffer,src_x,src_y,src_width,src_height,dst_stride,dst_data); 328 END_BOARD_LOCK(); 327 #define FX_grLfbReadRegion(src_buffer,src_x,src_y,src_width,src_height,dst_stride,dst_data) \ 328 do { \ 329 BEGIN_BOARD_LOCK(); \ 330 grLfbReadRegion(src_buffer,src_x,src_y,src_width,src_height,dst_stride,dst_data); \ 331 END_BOARD_LOCK(); \ 329 332 } while (0); 330 333 … … 332 335 * Draw triangle 333 336 */ 334 #define FX_grDrawTriangle(a,b,c) 335 do { 336 BEGIN_CLIP_LOOP(); 337 grDrawTriangle(a,b,c); 338 END_CLIP_LOOP(); 337 #define FX_grDrawTriangle(a,b,c) \ 338 do { \ 339 BEGIN_CLIP_LOOP(); \ 340 grDrawTriangle(a,b,c); \ 341 END_CLIP_LOOP(); \ 339 342 } while (0) 340 343 … … 343 346 */ 344 347 #if defined(FX_GLIDE3) 345 #define FX_largeLodLog2(info)(info).largeLodLog2346 #else 347 #define FX_largeLodLog2(info) (info).largeLod 348 #endif 349 350 #if defined(FX_GLIDE3) 351 #define FX_aspectRatioLog2(info)(info).aspectRatioLog2352 #else 353 #define FX_aspectRatioLog2(info)(info).aspectRatio354 #endif 355 356 #if defined(FX_GLIDE3) 357 #define FX_smallLodLog2(info)(info).smallLodLog2358 #else 359 #define FX_smallLodLog2(info)(info).smallLod360 #endif 361 362 #if defined(FX_GLIDE3) 363 #define FX_lodToValue(val)((int)(GR_LOD_256-val))364 #else 365 #define FX_lodToValue(val)((int)(val))366 #endif 367 368 #if defined(FX_GLIDE3) 369 #define FX_largeLodValue(info)((int)(GR_LOD_256-(info).largeLodLog2))370 #else 371 #define FX_largeLodValue(info)((int)(info).largeLod)348 #define FX_largeLodLog2(info) (info).largeLodLog2 349 #else 350 #define FX_largeLodLog2(info) (info).largeLod 351 #endif 352 353 #if defined(FX_GLIDE3) 354 #define FX_aspectRatioLog2(info) (info).aspectRatioLog2 355 #else 356 #define FX_aspectRatioLog2(info) (info).aspectRatio 357 #endif 358 359 #if defined(FX_GLIDE3) 360 #define FX_smallLodLog2(info) (info).smallLodLog2 361 #else 362 #define FX_smallLodLog2(info) (info).smallLod 363 #endif 364 365 #if defined(FX_GLIDE3) 366 #define FX_lodToValue(val) ((int)(GR_LOD_256-val)) 367 #else 368 #define FX_lodToValue(val) ((int)(val)) 369 #endif 370 371 #if defined(FX_GLIDE3) 372 #define FX_largeLodValue(info) ((int)(GR_LOD_256-(info).largeLodLog2)) 373 #else 374 #define FX_largeLodValue(info) ((int)(info).largeLod) 372 375 #endif 373 376 #define FX_largeLodValue_NoLock FX_largeLodValue 374 377 375 378 #if defined(FX_GLIDE3) 376 #define FX_smallLodValue(info)((int)(GR_LOD_256-(info).smallLodLog2))377 #else 378 #define FX_smallLodValue(info)((int)(info).smallLod)379 #define FX_smallLodValue(info) ((int)(GR_LOD_256-(info).smallLodLog2)) 380 #else 381 #define FX_smallLodValue(info) ((int)(info).smallLod) 379 382 #endif 380 383 #define FX_smallLodValue_NoLock FX_smallLodValue 381 384 382 385 #if defined(FX_GLIDE3) 383 #define FX_valueToLod(val)((GrLOD_t)(GR_LOD_256-val))384 #else 385 #define FX_valueToLod(val)((GrLOD_t)(val))386 #define FX_valueToLod(val) ((GrLOD_t)(GR_LOD_256-val)) 387 #else 388 #define FX_valueToLod(val) ((GrLOD_t)(val)) 386 389 #endif 387 390 … … 389 392 * ScreenWidth/Height stuff. 390 393 */ 391 392 394 extern int FX_grSstScreenWidth(void); 395 extern int FX_grSstScreenHeight(void); 393 396 394 397 … … 398 401 */ 399 402 #if defined(FX_GLIDE3) 400 401 #else 402 #define FX_grGlideGetVersion(b)\403 do {\404 BEGIN_BOARD_LOCK();\405 grGlideGetVersion(b);\406 END_BOARD_LOCK();\407 403 extern void FX_grGlideGetVersion(char *buf); 404 #else 405 #define FX_grGlideGetVersion(b) \ 406 do { \ 407 BEGIN_BOARD_LOCK(); \ 408 grGlideGetVersion(b); \ 409 END_BOARD_LOCK(); \ 410 } while (0) 408 411 #endif 409 412 /* … … 413 416 extern void FX_grSstPerfStats(GrSstPerfStats_t *st); 414 417 #else 415 #define FX_grSstPerfStats(s)\416 do {\417 BEGIN_BOARD_LOCK();\418 grSstPerfStats(s);\419 END_BOARD_LOCK();\420 418 #define FX_grSstPerfStats(s) \ 419 do { \ 420 BEGIN_BOARD_LOCK(); \ 421 grSstPerfStats(s); \ 422 END_BOARD_LOCK(); \ 423 } while (0) 421 424 #endif 422 425 … … 431 434 #if defined(FX_GLIDE3) 432 435 extern void FX_grHints_NoLock(GrHint_t hintType, FxU32 hintMask); 433 434 #else 435 #define FX_grHints(t,m)\436 do {\437 BEGIN_BOARD_LOCK();\438 grHints(t, m);\439 END_BOARD_LOCK();\440 436 extern void FX_grHints(GrHint_t hintType, FxU32 hintMask); 437 #else 438 #define FX_grHints(t,m) \ 439 do { \ 440 BEGIN_BOARD_LOCK(); \ 441 grHints(t, m); \ 442 END_BOARD_LOCK(); \ 443 } while(0) 441 444 #define FX_grHints_NoLock grHints 442 445 #endif … … 445 448 */ 446 449 #if defined(FX_GLIDE3) 447 448 #else 449 #define FX_grAADrawLine(a,b)\450 do {\451 BEGIN_CLIP_LOOP();\452 grAADrawLine(a,b);\453 END_CLIP_LOOP();\454 455 #endif 456 457 #if defined(FX_GLIDE3) 458 459 #else 460 #define FX_grAADrawPoint(a)\461 do {\462 BEGIN_CLIP_LOOP();\463 grAADrawPoint(a);\464 END_CLIP_LOOP();\465 450 extern void FX_grAADrawLine(GrVertex *a,GrVertex *b); 451 #else 452 #define FX_grAADrawLine(a,b) \ 453 do { \ 454 BEGIN_CLIP_LOOP(); \ 455 grAADrawLine(a,b); \ 456 END_CLIP_LOOP(); \ 457 } while (0) 458 #endif 459 460 #if defined(FX_GLIDE3) 461 extern void FX_grAADrawPoint(GrVertex *a); 462 #else 463 #define FX_grAADrawPoint(a) \ 464 do { \ 465 BEGIN_CLIP_LOOP(); \ 466 grAADrawPoint(a); \ 467 END_CLIP_LOOP(); \ 468 } while (0) 466 469 #endif 467 470 … … 470 473 */ 471 474 #if defined(FX_GLIDE3) 472 473 #else 474 #define FX_setupGrVertexLayout()do {} while (0)475 extern void FX_setupGrVertexLayout(void); 476 #else 477 #define FX_setupGrVertexLayout() do {} while (0) 475 478 #endif 476 479 /* … … 485 488 extern void FX_grGammaCorrectionValue(float val); 486 489 #else 487 #define FX_grGammaCorrectionValue(v) 488 do { 489 BEGIN_BOARD_LOCK(); 490 grGammaCorrectionValue(v)\491 END_BOARD_LOCK(); 490 #define FX_grGammaCorrectionValue(v) \ 491 do { \ 492 BEGIN_BOARD_LOCK(); \ 493 grGammaCorrectionValue(v) \ 494 END_BOARD_LOCK(); \ 492 495 } while (0) 493 496 #endif 494 497 495 498 #if defined(FX_GLIDE3) 496 #define FX_grSstWinClose(w) 497 do { 498 BEGIN_BOARD_LOCK(); 499 grSstWinClose(w); 500 END_BOARD_LOCK(); 501 } while (0) 502 #else 503 #define FX_grSstWinClose(w) 504 do { 505 BEGIN_BOARD_LOCK(); 506 grSstWinClose(); 507 END_BOARD_LOCK(); 499 #define FX_grSstWinClose(w) \ 500 do { \ 501 BEGIN_BOARD_LOCK(); \ 502 grSstWinClose(w); \ 503 END_BOARD_LOCK(); \ 504 } while (0) 505 #else 506 #define FX_grSstWinClose(w) \ 507 do { \ 508 BEGIN_BOARD_LOCK(); \ 509 grSstWinClose(); \ 510 END_BOARD_LOCK(); \ 508 511 } while (0) 509 512 #endif … … 519 522 520 523 521 #define FX_grDrawLine(v1, v2) \ 522 do { \ 523 BEGIN_CLIP_LOOP(); \ 524 grDrawLine(v1, v2); \ 525 END_CLIP_LOOP(); \ 526 } while (0) 527 528 #define FX_grDrawPoint(p) \ 529 do { \ 530 BEGIN_CLIP_LOOP(); \ 531 grDrawPoint(p); \ 532 END_CLIP_LOOP(); \ 533 } while (0) 534 535 #define FX_grDitherMode(m) \ 536 do { \ 537 BEGIN_BOARD_LOCK(); \ 538 grDitherMode(m); \ 539 END_BOARD_LOCK(); \ 540 } while (0) 541 542 #define FX_grRenderBuffer(b) \ 543 do { \ 544 BEGIN_BOARD_LOCK(); \ 545 grRenderBuffer(b); \ 546 END_BOARD_LOCK(); \ 547 } while (0) 548 549 #define FX_grBufferClear(c, a, d) \ 550 do { \ 551 BEGIN_CLIP_LOOP(); \ 552 grBufferClear(c, a, d); \ 553 END_CLIP_LOOP(); \ 554 } while (0) 555 556 #define FX_grDepthMask(m) \ 557 do { \ 558 BEGIN_BOARD_LOCK(); \ 559 grDepthMask(m); \ 560 END_BOARD_LOCK(); \ 561 } while (0) 562 563 #define FX_grColorMask(c, a) \ 564 do { \ 565 BEGIN_BOARD_LOCK(); \ 566 grColorMask(c, a); \ 567 END_BOARD_LOCK(); \ 568 } while (0) 569 570 extern FxBool FX_grLfbLock(GrLock_t type, GrBuffer_t buffer, 571 GrLfbWriteMode_t writeMode, 572 GrOriginLocation_t origin, FxBool pixelPipeline, 573 GrLfbInfo_t *info ); 574 575 #define FX_grLfbUnlock(t, b) \ 576 do { \ 577 BEGIN_BOARD_LOCK(); \ 578 grLfbUnlock(t, b); \ 579 END_BOARD_LOCK(); \ 580 } while (0) 581 582 #define FX_grConstantColorValue(v) \ 583 do { \ 584 BEGIN_BOARD_LOCK(); \ 585 grConstantColorValue(v); \ 586 END_BOARD_LOCK(); \ 524 #define FX_grDrawLine(v1, v2) \ 525 do { \ 526 BEGIN_CLIP_LOOP(); \ 527 grDrawLine(v1, v2); \ 528 END_CLIP_LOOP(); \ 529 } while (0) 530 531 #define FX_grDrawPoint(p) \ 532 do { \ 533 BEGIN_CLIP_LOOP(); \ 534 grDrawPoint(p); \ 535 END_CLIP_LOOP(); \ 536 } while (0) 537 538 #if defined(FX_GLIDE3) 539 extern void FX_grDrawPolygonVertexList(int n, GrVertex *v); 540 #else 541 #define FX_grDrawPolygonVertexList(n, v) \ 542 do { \ 543 BEGIN_CLIP_LOOP(); \ 544 grDrawPolygonVertexList(n, v); \ 545 END_CLIP_LOOP(); \ 546 } while (0) 547 #endif 548 549 #define FX_grDitherMode(m) \ 550 do { \ 551 BEGIN_BOARD_LOCK(); \ 552 grDitherMode(m); \ 553 END_BOARD_LOCK(); \ 554 } while (0) 555 556 #define FX_grRenderBuffer(b) \ 557 do { \ 558 BEGIN_BOARD_LOCK(); \ 559 grRenderBuffer(b); \ 560 END_BOARD_LOCK(); \ 561 } while (0) 562 563 #define FX_grBufferClear(c, a, d) \ 564 do { \ 565 BEGIN_CLIP_LOOP(); \ 566 grBufferClear(c, a, d); \ 567 END_CLIP_LOOP(); \ 568 } while (0) 569 570 #define FX_grDepthMask(m) \ 571 do { \ 572 BEGIN_BOARD_LOCK(); \ 573 grDepthMask(m); \ 574 END_BOARD_LOCK(); \ 575 } while (0) 576 577 #define FX_grColorMask(c, a) \ 578 do { \ 579 BEGIN_BOARD_LOCK(); \ 580 grColorMask(c, a); \ 581 END_BOARD_LOCK(); \ 582 } while (0) 583 584 extern FxBool FX_grLfbLock(GrLock_t type, GrBuffer_t buffer, 585 GrLfbWriteMode_t writeMode, 586 GrOriginLocation_t origin, FxBool pixelPipeline, 587 GrLfbInfo_t *info ); 588 589 #define FX_grLfbUnlock(t, b) \ 590 do { \ 591 BEGIN_BOARD_LOCK(); \ 592 grLfbUnlock(t, b); \ 593 END_BOARD_LOCK(); \ 594 } while (0) 595 596 #define FX_grConstantColorValue(v) \ 597 do { \ 598 BEGIN_BOARD_LOCK(); \ 599 grConstantColorValue(v); \ 600 END_BOARD_LOCK(); \ 587 601 } while (0) 588 602 589 603 #define FX_grConstantColorValue_NoLock grConstantColorValue 590 604 591 #define FX_grAADrawTriangle(a, b, c, ab, bc, ca) 592 do { 593 BEGIN_CLIP_LOOP(); 594 grAADrawTriangle(a, b, c, ab, bc, ca); 595 END_CLIP_LOOP(); 596 } while (0) 597 598 #define FX_grAlphaBlendFunction(rs, rd, as, ad) 599 do { 600 BEGIN_BOARD_LOCK(); 601 grAlphaBlendFunction(rs, rd, as, ad); 602 END_BOARD_LOCK(); 603 } while (0) 604 605 #define FX_grAlphaCombine(func, fact, loc, oth, inv) 606 do { 607 BEGIN_BOARD_LOCK(); 608 grAlphaCombine(func, fact, loc, oth, inv); 609 END_BOARD_LOCK(); 605 #define FX_grAADrawTriangle(a, b, c, ab, bc, ca) \ 606 do { \ 607 BEGIN_CLIP_LOOP(); \ 608 grAADrawTriangle(a, b, c, ab, bc, ca); \ 609 END_CLIP_LOOP(); \ 610 } while (0) 611 612 #define FX_grAlphaBlendFunction(rs, rd, as, ad) \ 613 do { \ 614 BEGIN_BOARD_LOCK(); \ 615 grAlphaBlendFunction(rs, rd, as, ad); \ 616 END_BOARD_LOCK(); \ 617 } while (0) 618 619 #define FX_grAlphaCombine(func, fact, loc, oth, inv) \ 620 do { \ 621 BEGIN_BOARD_LOCK(); \ 622 grAlphaCombine(func, fact, loc, oth, inv); \ 623 END_BOARD_LOCK(); \ 610 624 } while (0) 611 625 612 626 #define FX_grAlphaCombine_NoLock grAlphaCombine 613 627 614 #define FX_grAlphaTestFunction(f) 615 do { 616 BEGIN_BOARD_LOCK(); 617 grAlphaTestFunction(f); 618 END_BOARD_LOCK(); 619 } while (0) 620 621 #define FX_grAlphaTestReferenceValue(v) 622 do { 623 BEGIN_BOARD_LOCK(); 624 grAlphaTestReferenceValue(v); 625 END_BOARD_LOCK(); 626 } while (0) 627 628 #define FX_grClipWindow(minx, miny, maxx, maxy) 629 do { 630 BEGIN_BOARD_LOCK(); 631 grClipWindow(minx, miny, maxx, maxy); 632 END_BOARD_LOCK(); 628 #define FX_grAlphaTestFunction(f) \ 629 do { \ 630 BEGIN_BOARD_LOCK(); \ 631 grAlphaTestFunction(f); \ 632 END_BOARD_LOCK(); \ 633 } while (0) 634 635 #define FX_grAlphaTestReferenceValue(v) \ 636 do { \ 637 BEGIN_BOARD_LOCK(); \ 638 grAlphaTestReferenceValue(v); \ 639 END_BOARD_LOCK(); \ 640 } while (0) 641 642 #define FX_grClipWindow(minx, miny, maxx, maxy) \ 643 do { \ 644 BEGIN_BOARD_LOCK(); \ 645 grClipWindow(minx, miny, maxx, maxy); \ 646 END_BOARD_LOCK(); \ 633 647 } while (0) 634 648 635 649 #define FX_grClipWindow_NoLock grClipWindow 636 650 637 #define FX_grColorCombine(func, fact, loc, oth, inv) 638 do { 639 BEGIN_BOARD_LOCK(); 640 grColorCombine(func, fact, loc, oth, inv); 641 END_BOARD_LOCK(); 651 #define FX_grColorCombine(func, fact, loc, oth, inv) \ 652 do { \ 653 BEGIN_BOARD_LOCK(); \ 654 grColorCombine(func, fact, loc, oth, inv); \ 655 END_BOARD_LOCK(); \ 642 656 } while (0) 643 657 644 658 #define FX_grColorCombine_NoLock grColorCombine 645 659 646 #define FX_grCullMode(m) 647 do { 648 BEGIN_BOARD_LOCK(); 649 grCullMode(m); 650 END_BOARD_LOCK(); 651 } while (0) 652 653 #define FX_grDepthBiasLevel(lev) 654 do { 655 BEGIN_BOARD_LOCK(); 656 grDepthBiasLevel(lev); 657 END_BOARD_LOCK(); 658 } while (0) 659 660 #define FX_grDepthBufferFunction(func) 661 do { 662 BEGIN_BOARD_LOCK(); 663 grDepthBufferFunction(func); 664 END_BOARD_LOCK(); 665 } while (0) 666 667 #define FX_grFogColorValue(c) 668 do { 669 BEGIN_BOARD_LOCK(); 670 grFogColorValue(c); 671 END_BOARD_LOCK(); 672 } while (0) 673 674 #define FX_grFogMode(m) 675 do { 660 #define FX_grCullMode(m) \ 661 do { \ 662 BEGIN_BOARD_LOCK(); \ 663 grCullMode(m); \ 664 END_BOARD_LOCK(); \ 665 } while (0) 666 667 #define FX_grDepthBiasLevel(lev) \ 668 do { \ 669 BEGIN_BOARD_LOCK(); \ 670 grDepthBiasLevel(lev); \ 671 END_BOARD_LOCK(); \ 672 } while (0) 673 674 #define FX_grDepthBufferFunction(func) \ 675 do { \ 676 BEGIN_BOARD_LOCK(); \ 677 grDepthBufferFunction(func); \ 678 END_BOARD_LOCK(); \ 679 } while (0) 680 681 #define FX_grFogColorValue(c) \ 682 do { \ 683 BEGIN_BOARD_LOCK(); \ 684 grFogColorValue(c); \ 685 END_BOARD_LOCK(); \ 686 } while (0) 687 688 #define FX_grFogMode(m) \ 689 do { \ 676 690 BEGIN_BOARD_LOCK(); \ 677 grFogMode(m); 678 END_BOARD_LOCK(); 679 } while (0) 680 681 #define FX_grFogTable(t) 682 do { 683 BEGIN_BOARD_LOCK(); 684 grFogTable(t); 685 END_BOARD_LOCK(); 686 } while (0) 687 688 #define FX_grTexClampMode(t, sc, tc) 689 do { 690 BEGIN_BOARD_LOCK(); 691 grTexClampMode(t, sc, tc); 692 END_BOARD_LOCK(); 691 grFogMode(m); \ 692 END_BOARD_LOCK(); \ 693 } while (0) 694 695 #define FX_grFogTable(t) \ 696 do { \ 697 BEGIN_BOARD_LOCK(); \ 698 grFogTable(t); \ 699 END_BOARD_LOCK(); \ 700 } while (0) 701 702 #define FX_grTexClampMode(t, sc, tc) \ 703 do { \ 704 BEGIN_BOARD_LOCK(); \ 705 grTexClampMode(t, sc, tc); \ 706 END_BOARD_LOCK(); \ 693 707 } while (0) 694 708 695 709 #define FX_grTexClampMode_NoLock grTexClampMode 696 710 697 #define FX_grTexCombine(t, rfunc, rfact, afunc, afact, rinv, ainv) 698 do { 699 BEGIN_BOARD_LOCK(); 700 grTexCombine(t, rfunc, rfact, afunc, afact, rinv, ainv); 701 END_BOARD_LOCK(); 711 #define FX_grTexCombine(t, rfunc, rfact, afunc, afact, rinv, ainv) \ 712 do { \ 713 BEGIN_BOARD_LOCK(); \ 714 grTexCombine(t, rfunc, rfact, afunc, afact, rinv, ainv); \ 715 END_BOARD_LOCK(); \ 702 716 } while (0) 703 717 704 718 #define FX_grTexCombine_NoLock grTexCombine 705 719 706 #define FX_grTexDownloadMipMapLevel(t, sa, tlod, llod, ar, f, eo, d) 707 do { 708 BEGIN_BOARD_LOCK(); 709 grTexDownloadMipMapLevel(t, sa, tlod, llod, ar, f, eo, d); 710 END_BOARD_LOCK(); 720 #define FX_grTexDownloadMipMapLevel(t, sa, tlod, llod, ar, f, eo, d) \ 721 do { \ 722 BEGIN_BOARD_LOCK(); \ 723 grTexDownloadMipMapLevel(t, sa, tlod, llod, ar, f, eo, d); \ 724 END_BOARD_LOCK(); \ 711 725 } while (0) 712 726 713 727 #define FX_grTexDownloadMipMapLevel_NoLock grTexDownloadMipMapLevel 714 728 715 #define FX_grTexDownloadMipMapLevelPartial(t, sa, tlod, llod, ar, f, eo, d, s, e); 716 do { 717 BEGIN_BOARD_LOCK(); 729 #define FX_grTexDownloadMipMapLevelPartial(t, sa, tlod, llod, ar, f, eo, d, s, e); \ 730 do { \ 731 BEGIN_BOARD_LOCK(); \ 718 732 grTexDownloadMipMapLevelPartial(t, sa, tlod, llod, ar, f, eo, d, s, e); \ 719 END_BOARD_LOCK(); 720 } while (0) 721 722 #define FX_grTexFilterMode(t, minf, magf) 723 do { 724 BEGIN_BOARD_LOCK(); 725 grTexFilterMode(t, minf, magf); 726 END_BOARD_LOCK(); 733 END_BOARD_LOCK(); \ 734 } while (0) 735 736 #define FX_grTexFilterMode(t, minf, magf) \ 737 do { \ 738 BEGIN_BOARD_LOCK(); \ 739 grTexFilterMode(t, minf, magf); \ 740 END_BOARD_LOCK(); \ 727 741 } while (0) 728 742 … … 732 746 extern FxU32 FX_grTexMaxAddress(GrChipID_t tmu); 733 747 734 #define FX_grTexMipMapMode(t, m, lod) 735 do { 736 BEGIN_BOARD_LOCK(); 737 grTexMipMapMode(t, m, lod); 738 END_BOARD_LOCK(); 748 #define FX_grTexMipMapMode(t, m, lod) \ 749 do { \ 750 BEGIN_BOARD_LOCK(); \ 751 grTexMipMapMode(t, m, lod); \ 752 END_BOARD_LOCK(); \ 739 753 } while (0) 740 754 741 755 #define FX_grTexMipMapMode_NoLock grTexMipMapMode 742 756 743 #define FX_grTexSource(t, sa, eo, i) 744 do { 745 BEGIN_BOARD_LOCK(); 746 grTexSource(t, sa, eo, i); 747 END_BOARD_LOCK(); 757 #define FX_grTexSource(t, sa, eo, i) \ 758 do { \ 759 BEGIN_BOARD_LOCK(); \ 760 grTexSource(t, sa, eo, i); \ 761 END_BOARD_LOCK(); \ 748 762 } while (0) 749 763 … … 753 767 #define FX_grTexTextureMemRequired_NoLock grTexTextureMemRequired 754 768 755 #define FX_grGlideGetState(s) \ 756 do { \ 757 BEGIN_BOARD_LOCK(); \ 758 grGlideGetState(s); \ 759 END_BOARD_LOCK(); \ 760 } while (0) 761 762 #define FX_grDRIBufferSwap(i) \ 763 do { \ 764 BEGIN_BOARD_LOCK(); \ 765 grDRIBufferSwap(i); \ 766 END_BOARD_LOCK(); \ 767 } while (0) 768 769 #define FX_grSstSelect(b) \ 770 do { \ 771 BEGIN_BOARD_LOCK(); \ 772 grSstSelect(b); \ 773 END_BOARD_LOCK(); \ 769 #define FX_grGlideGetState(s) \ 770 do { \ 771 BEGIN_BOARD_LOCK(); \ 772 grGlideGetState(s); \ 773 END_BOARD_LOCK(); \ 774 } while (0) 775 #define FX_grGlideGetState_NoLock(s) grGlideGetState(s); 776 777 #define FX_grDRIBufferSwap(i) \ 778 do { \ 779 BEGIN_BOARD_LOCK(); \ 780 grDRIBufferSwap(i); \ 781 END_BOARD_LOCK(); \ 782 } while (0) 783 784 #define FX_grSstSelect(b) \ 785 do { \ 786 BEGIN_BOARD_LOCK(); \ 787 grSstSelect(b); \ 788 END_BOARD_LOCK(); \ 774 789 } while (0) 775 790 776 791 #define FX_grSstSelect_NoLock grSstSelect 777 792 778 #define FX_grGlideSetState(s) \ 779 do { \ 780 BEGIN_BOARD_LOCK(); \ 781 grGlideSetState(s); \ 782 END_BOARD_LOCK(); \ 783 } while (0) 784 785 #define FX_grDepthBufferMode(m) \ 786 do { \ 787 BEGIN_BOARD_LOCK(); \ 788 grDepthBufferMode(m); \ 789 END_BOARD_LOCK(); \ 790 } while (0) 791 792 #define FX_grLfbWriteColorFormat(f) \ 793 do { \ 794 BEGIN_BOARD_LOCK(); \ 795 grLfbWriteColorFormat(f); \ 796 END_BOARD_LOCK(); \ 797 } while (0) 798 799 #define FX_grDrawVertexArray(m, c, p) \ 800 do { \ 801 BEGIN_CLIP_LOOP(); \ 802 grDrawVertexArray(m, c, p); \ 803 END_CLIP_LOOP(); \ 804 } while (0) 805 806 #define FX_grGlideShutdown() \ 807 do { \ 808 BEGIN_CLIP_LOOP(); \ 809 grGlideShutdown(); \ 810 END_CLIP_LOOP(); \ 793 #define FX_grGlideSetState(s) \ 794 do { \ 795 BEGIN_BOARD_LOCK(); \ 796 grGlideSetState(s); \ 797 END_BOARD_LOCK(); \ 798 } while (0) 799 #define FX_grGlideSetState_NoLock(s) grGlideSetState(s); 800 801 #define FX_grDepthBufferMode(m) \ 802 do { \ 803 BEGIN_BOARD_LOCK(); \ 804 grDepthBufferMode(m); \ 805 END_BOARD_LOCK(); \ 806 } while (0) 807 808 #define FX_grLfbWriteColorFormat(f) \ 809 do { \ 810 BEGIN_BOARD_LOCK(); \ 811 grLfbWriteColorFormat(f); \ 812 END_BOARD_LOCK(); \ 813 } while (0) 814 815 #define FX_grDrawVertexArray(m, c, p) \ 816 do { \ 817 BEGIN_CLIP_LOOP(); \ 818 grDrawVertexArray(m, c, p); \ 819 END_CLIP_LOOP(); \ 820 } while (0) 821 822 #define FX_grGlideShutdown() \ 823 do { \ 824 BEGIN_CLIP_LOOP(); \ 825 grGlideShutdown(); \ 826 END_CLIP_LOOP(); \ 811 827 } while (0) 812 828
Note:
See TracChangeset
for help on using the changeset viewer.