diff options
author | brianp <brianp> | 2000-06-06 18:30:11 +0000 |
---|---|---|
committer | brianp <brianp> | 2000-06-06 18:30:11 +0000 |
commit | e5bf0294e47656757a5d472a7547417ad69751ae (patch) | |
tree | f4d17f38076ff94d6b7678bbeca8033d812c3928 /xc | |
parent | e33d3d587e85dc04131905b9f9f19dc6fdad76e1 (diff) |
set haveHwStencil flag only if running on Voodoo4/5 at 32bpp
Diffstat (limited to 'xc')
-rw-r--r-- | xc/lib/GL/mesa/src/drv/tdfx/tdfx_xmesa.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/xc/lib/GL/mesa/src/drv/tdfx/tdfx_xmesa.c b/xc/lib/GL/mesa/src/drv/tdfx/tdfx_xmesa.c index 44d2a3208..a3973a8ab 100644 --- a/xc/lib/GL/mesa/src/drv/tdfx/tdfx_xmesa.c +++ b/xc/lib/GL/mesa/src/drv/tdfx/tdfx_xmesa.c @@ -178,15 +178,18 @@ XMesaContext XMesaCreateContext(XMesaVisual v, XMesaContext share_list, cPriv->hHWContext = driContextPriv->hHWContext; cPriv->tdfxScrnPriv = sPriv; + /* deviceID = 0x05 = Voodoo3 */ + /* deviceID = 0x09 = Voodoo5 (and Voodoo5?) */ + cPriv->haveHwStencil = sPriv->deviceID == 0x9 && sPriv->cpp == 4; c->private = (void *)cPriv; cPriv->glVis=v->gl_visual; cPriv->glBuffer=gl_create_framebuffer(v->gl_visual, - GL_FALSE, /* software depth buffer? */ - v->gl_visual->StencilBits > 0 && v->gl_visual->RedBits < 8, - v->gl_visual->AccumRedBits > 0, - GL_FALSE /* software alpha channel */ - ); + GL_FALSE, /* software depth buffer? */ + v->gl_visual->StencilBits > 0 && !cPriv->haveHwStencil, + v->gl_visual->AccumRedBits > 0, + GL_FALSE /* software alpha channel */ + ); cPriv->screen_width=sPriv->width; cPriv->screen_height=sPriv->height; |