diff options
author | Brian Paul <[email protected]> | 2003-07-17 14:50:11 +0000 |
---|---|---|
committer | Brian Paul <[email protected]> | 2003-07-17 14:50:11 +0000 |
commit | c19cbb58cd2862393d67b62a5fc523b6fa1ac9a6 (patch) | |
tree | 46e79f545a67ad9c47d43685ec2092b21a6e1cda /src/mesa/drivers/glide/fxglidew.c | |
parent | 6dc85575000127630489b407c50a4b3ea87c9acb (diff) |
more DOS updates from Daniel Borca
Diffstat (limited to 'src/mesa/drivers/glide/fxglidew.c')
-rw-r--r-- | src/mesa/drivers/glide/fxglidew.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/mesa/drivers/glide/fxglidew.c b/src/mesa/drivers/glide/fxglidew.c index e45dfabcec9..950dfdbc86c 100644 --- a/src/mesa/drivers/glide/fxglidew.c +++ b/src/mesa/drivers/glide/fxglidew.c @@ -1,4 +1,4 @@ -/* $Id: fxglidew.c,v 1.19 2001/09/23 16:50:01 brianp Exp $ */ +/* $Id: fxglidew.c,v 1.20 2003/07/17 14:50:12 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -386,6 +386,13 @@ FX_grSstQueryHardware(GrHwConfiguration * config) grGet(GR_REVISION_TMU, 4, &result); config->SSTs[i].sstBoard.VoodooConfig.tmuConfig[j].tmuRev = result; } + + { + const char *extension = grGetString(GR_EXTENSION); + if (strstr(extension, " PIXEXT ")) { + config->SSTs[i].sstBoard.VoodooConfig.gExt.grSstWinOpen = grGetProcAddress("grSstWinOpenExt"); + } + } } END_BOARD_LOCK(); return 1; @@ -428,15 +435,25 @@ FX_grSstQueryHardware(GrHwConfiguration * c) /* It appears to me that this function is needed either way. */ FX_GrContext_t -FX_grSstWinOpen(FxU32 hWnd, +FX_grSstWinOpen(struct SstCard_St *c, + FxU32 hWnd, GrScreenResolution_t screen_resolution, GrScreenRefresh_t refresh_rate, GrColorFormat_t color_format, + GrPixelFormat_t pixel_format, GrOriginLocation_t origin_location, int nColBuffers, int nAuxBuffers) { FX_GrContext_t i; BEGIN_BOARD_LOCK(); + if ((c->type == GR_SSTTYPE_VOODOO) && c->sstBoard.VoodooConfig.gExt.grSstWinOpen) { + i = c->sstBoard.VoodooConfig.gExt.grSstWinOpen(hWnd, + screen_resolution, + refresh_rate, + color_format, origin_location, + pixel_format, + nColBuffers, nAuxBuffers); + } else i = grSstWinOpen(hWnd, screen_resolution, refresh_rate, |