summaryrefslogtreecommitdiffstats
path: root/src/glx/glxclient.h
diff options
context:
space:
mode:
authorKristian Høgsberg <[email protected]>2010-07-23 16:15:31 -0400
committerKristian Høgsberg <[email protected]>2010-07-23 22:05:53 -0400
commit6ec39db726beead21d97bf64ddbe1f0b2d2d6ca1 (patch)
tree65a665c1d10ab43618a2c508081a7cc7d31ab9ab /src/glx/glxclient.h
parentb5dedd7c3b4425127d8b85b7e8df0ecda4009fd7 (diff)
glx: Refactor and simplify context creation
This lets us better separate context creation between the different backends.
Diffstat (limited to 'src/glx/glxclient.h')
-rw-r--r--src/glx/glxclient.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/glx/glxclient.h b/src/glx/glxclient.h
index 20c45291315..48b5501fe9e 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__ */