summaryrefslogtreecommitdiff
path: root/GL/glx/glxcmds.c
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2006-03-17 00:35:18 +0000
committerKristian Høgsberg <krh@redhat.com>2006-03-17 00:35:18 +0000
commit2c11cde3367fcd22740b577a4364b1e41cf3e1d2 (patch)
tree6feb9b0c3cba3c7408b83ff67960fa815040d60d /GL/glx/glxcmds.c
parent14aafc258cd774cf937f9798a888c2d3c97ccacf (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.c23
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;
}