diff options
author | Kristian Høgsberg <krh@redhat.com> | 2006-03-17 00:35:18 +0000 |
---|---|---|
committer | Kristian Høgsberg <krh@redhat.com> | 2006-03-17 00:35:18 +0000 |
commit | 2c11cde3367fcd22740b577a4364b1e41cf3e1d2 (patch) | |
tree | 6feb9b0c3cba3c7408b83ff67960fa815040d60d /GL/glx/glxcmds.c | |
parent | 14aafc258cd774cf937f9798a888c2d3c97ccacf (diff) |
More patches from David Reveman:
Add GL_ARB_texture_non_power_of_two, GL_EXT_framebuffer_object and
GL_NV_texture_env_combine4 extensions.
Add __GLXcontext destructor and flush context cache there and on
loseCurrent.
Chain back to new __GLXcontext destructor. (__glXMesaContextForceCurrent):
Set render table on forceCurrent. (init_screen_visuals): Index pVis
array correctly. (GlxGetMesaProvider): Add this.
Hook up FBO marshalling.
Diffstat (limited to 'GL/glx/glxcmds.c')
-rw-r--r-- | GL/glx/glxcmds.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/GL/glx/glxcmds.c b/GL/glx/glxcmds.c index ddbf06388..dd1d9494d 100644 --- a/GL/glx/glxcmds.c +++ b/GL/glx/glxcmds.c @@ -89,8 +89,16 @@ static int __glxHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc); /************************************************************************/ +void +__glXContextDestroy(__GLXcontext *context) +{ + __glXFlushContextCache(); +} + + static void __glXdirectContextDestroy(__GLXcontext *context) { + __glXContextDestroy(context); __glXFree(context); } @@ -632,6 +640,7 @@ int DoMakeCurrent( __GLXclientState *cl, if (!(*prevglxc->loseCurrent)(prevglxc)) { return __glXBadContext; } + __glXFlushContextCache(); __glXDeassociateContext(prevglxc); } @@ -2208,6 +2217,20 @@ int __glXVendorPrivateWithReply(__GLXclientState *cl, GLbyte *pc) return __glXCreateGLXPixmapWithConfigSGIX(cl, pc); case X_GLXvop_GetDrawableAttributesSGIX: return __glXGetDrawableAttributesSGIX(cl, pc); + case X_GLvop_IsRenderbufferEXT: + return __glXDisp_IsRenderbufferEXT(cl, pc); + case X_GLvop_GenRenderbuffersEXT: + return __glXDisp_GenRenderbuffersEXT(cl, pc); + case X_GLvop_GetRenderbufferParameterivEXT: + return __glXDisp_GetRenderbufferParameterivEXT(cl, pc); + case X_GLvop_IsFramebufferEXT: + return __glXDisp_IsFramebufferEXT(cl, pc); + case X_GLvop_GenFramebuffersEXT: + return __glXDisp_GenFramebuffersEXT(cl, pc); + case X_GLvop_CheckFramebufferStatusEXT: + return __glXDisp_CheckFramebufferStatusEXT(cl, pc); + case X_GLvop_GetFramebufferAttachmentParameterivEXT: + return __glXDisp_GetFramebufferAttachmentParameterivEXT(cl, pc); default: break; } |