summaryrefslogtreecommitdiff
path: root/src/glx/x11/glxext.c
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@hinata.boston.redhat.com>2007-05-10 18:38:49 -0400
committerKristian Høgsberg <krh@redhat.com>2007-10-10 17:09:16 -0400
commit8ed5c7ca0572a09375bdfd411c3804456dac78d6 (patch)
tree79a5fc7225b5d1be313bc99599ea7a51a4e8f7c3 /src/glx/x11/glxext.c
parent4ff95e78e19e5902352ea3759d32d9f013255f42 (diff)
Drop createContext and destroyContext from DRIinterfaceMethods.
As for createDrawable and destroyDrawable, these functions immediately upon entry to driCreateNewContext and immediately before exit from driDestroyContext. Instead of passing function pointers back and forth just obtain the drm_context_t prior to calling DRIscreen::createNewContext and pass it as a parameter. This change also lets us keep the DRI context XID in the libGL loader only.
Diffstat (limited to 'src/glx/x11/glxext.c')
-rw-r--r--src/glx/x11/glxext.c28
1 files changed, 3 insertions, 25 deletions
diff --git a/src/glx/x11/glxext.c b/src/glx/x11/glxext.c
index dce01d5528..85c990d4fc 100644
--- a/src/glx/x11/glxext.c
+++ b/src/glx/x11/glxext.c
@@ -774,28 +774,6 @@ static void __glXReportDamage(__DRIdrawable *driDraw,
}
static GLboolean
-__glXDRICreateContext(__DRIscreen *screen, int configID,
- void *pid, drm_context_t *hHWContext)
-{
- __GLXscreenConfigs *psc =
- containerOf(screen, __GLXscreenConfigs, driScreen);
- Display *dpy = psc->dpy;
-
- return XF86DRICreateContextWithConfig(dpy, psc->scr,
- configID, pid, hHWContext);
-}
-
-static GLboolean
-__glXDRIDestroyContext(__DRIscreen *screen, __DRIid context_id)
-{
- __GLXscreenConfigs *psc =
- containerOf(screen, __GLXscreenConfigs, driScreen);
- Display *dpy = psc->dpy;
-
- return XF86DRIDestroyContext(dpy, psc->scr, context_id);
-}
-
-static GLboolean
__glXDRIGetDrawableInfo(__DRIdrawable *drawable,
unsigned int *index, unsigned int *stamp,
int *X, int *Y, int *W, int *H,
@@ -824,9 +802,6 @@ static const __DRIinterfaceMethods interface_methods = {
_gl_context_modes_create,
_gl_context_modes_destroy,
-
- __glXDRICreateContext,
- __glXDRIDestroyContext,
__glXDRIGetDrawableInfo,
@@ -1816,6 +1791,9 @@ USED static Bool MakeContextCurrent(Display *dpy, GLXDrawable draw,
if (oldGC->driContext.private) {
(*oldGC->driContext.destroyContext)
(oldGC->driContext.private);
+ XF86DRIDestroyContext(oldGC->createDpy,
+ oldGC->psc->scr,
+ gc->hwContextID);
oldGC->driContext.private = NULL;
}
}