From 6ec39db726beead21d97bf64ddbe1f0b2d2d6ca1 Mon Sep 17 00:00:00 2001 From: Kristian Høgsberg Date: Fri, 23 Jul 2010 16:15:31 -0400 Subject: glx: Refactor and simplify context creation This lets us better separate context creation between the different backends. --- src/glx/glxclient.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/glx/glxclient.h') diff --git a/src/glx/glxclient.h b/src/glx/glxclient.h index 20c4529131..48b5501fe9 100644 --- a/src/glx/glxclient.h +++ b/src/glx/glxclient.h @@ -504,8 +504,16 @@ extern void __glFreeAttributeState(__GLXcontext *); * One of these records exists per screen of the display. It contains * a pointer to the config data for that screen (if the screen supports GL). */ +struct glx_screen_vtable { + __GLXcontext *(*create_context)(__GLXscreenConfigs *psc, + const __GLcontextModes *mode, + GLXContext shareList, int renderType); +}; + struct __GLXscreenConfigsRec { + const struct glx_screen_vtable *vtable; + /** * GLX extension string reported by the X-server. */ @@ -799,4 +807,7 @@ GetGLXDRIDrawable(Display *dpy, GLXDrawable drawable); #endif +extern __GLXscreenConfigs * +indirect_create_screen(int screen, __GLXdisplayPrivate * priv); + #endif /* !__GLX_client_h__ */ -- cgit v1.2.3