diff options
Diffstat (limited to 'src/mesa')
| -rw-r--r-- | src/mesa/drivers/glide/fxg.c | 29 | 
1 files changed, 9 insertions, 20 deletions
| diff --git a/src/mesa/drivers/glide/fxg.c b/src/mesa/drivers/glide/fxg.c index 7d39ddbe5f..9f24185100 100644 --- a/src/mesa/drivers/glide/fxg.c +++ b/src/mesa/drivers/glide/fxg.c @@ -2228,11 +2228,13 @@ void FX_CALL fake_grTexNCCTableExt (GrChipID_t   tmu,  void tdfx_hook_glide (struct tdfx_glide *Glide)  {  #if DEBUG_TRAP -#define GET_EXT_ADDR(name)  *(GrProc *)&real_##name = grGetProcAddress(#name), Glide->name = trap_##name -#define GET_TXS_ADDR(name)  Glide->name = trap_##name +#define GET_EXT_ADDR(name) *(GrProc *)&real_##name = grGetProcAddress(#name), Glide->name = trap_##name +#define GET_EXT_FAKE(name) GET_EXT_ADDR(name); if (real_##name == NULL) real_##name = fake_##name +#define GET_TXS_ADDR(name) Glide->name = trap_##name  #else  /* DEBUG_TRAP */ -#define GET_EXT_ADDR(name)  *(GrProc *)&Glide->name = grGetProcAddress(#name) -#define GET_TXS_ADDR(name)  Glide->name = name +#define GET_EXT_ADDR(name) *(GrProc *)&Glide->name = grGetProcAddress(#name) +#define GET_EXT_FAKE(name) GET_EXT_ADDR(name); if (Glide->name == NULL) Glide->name = fake_##name +#define GET_TXS_ADDR(name) Glide->name = name  #endif /* DEBUG_TRAP */   /* @@ -2245,9 +2247,9 @@ void tdfx_hook_glide (struct tdfx_glide *Glide)   GET_EXT_ADDR(grTexChromaModeExt);   GET_EXT_ADDR(grTexChromaRangeExt);   /* pointcast */ - GET_EXT_ADDR(grTexDownloadTableExt); - GET_EXT_ADDR(grTexDownloadTablePartialExt); - GET_EXT_ADDR(grTexNCCTableExt); + GET_EXT_FAKE(grTexDownloadTableExt); + GET_EXT_FAKE(grTexDownloadTablePartialExt); + GET_EXT_FAKE(grTexNCCTableExt);   /* tbext */   GET_EXT_ADDR(grTextureBufferExt);   GET_EXT_ADDR(grTextureAuxBufferExt); @@ -2275,19 +2277,6 @@ void tdfx_hook_glide (struct tdfx_glide *Glide)   GET_TXS_ADDR(txMipQuantize);   GET_TXS_ADDR(txPalToNcc); - /* housekeeping: make sure the pointcast always point to something valid */ - if (grGetProcAddress("grTexDownloadTableExt") == NULL) { -#if DEBUG_TRAP -    real_grTexDownloadTableExt = fake_grTexDownloadTableExt; -    real_grTexDownloadTablePartialExt = fake_grTexDownloadTablePartialExt; -    real_grTexNCCTableExt = fake_grTexNCCTableExt; -#else -    Glide->grTexDownloadTableExt = fake_grTexDownloadTableExt; -    Glide->grTexDownloadTablePartialExt = fake_grTexDownloadTablePartialExt; -    Glide->grTexNCCTableExt = fake_grTexNCCTableExt; -#endif - } -  #undef GET_EXT_ADDR  } | 
