glx: Split indirect and applegl implementations into different files
[mesa.git] / src / glx / glxclient.h
index 4f5c02fc34d43460b19eca4abe922004d0d090f2..84e1742dcbf2a0ebcc9a6cd8abec67df33b798db 100644 (file)
@@ -88,7 +88,6 @@ extern void DRI_glXUseXFont(struct glx_context *ctx,
 typedef struct __GLXDRIdisplayRec __GLXDRIdisplay;
 typedef struct __GLXDRIscreenRec __GLXDRIscreen;
 typedef struct __GLXDRIdrawableRec __GLXDRIdrawable;
-typedef struct __GLXDRIcontextRec __GLXDRIcontext;
 
 #include "glxextensions.h"
 
@@ -131,13 +130,6 @@ struct __GLXDRIscreenRec {
    int (*getSwapInterval)(__GLXDRIdrawable *pdraw);
 };
 
-struct __GLXDRIcontextRec
-{
-   Bool(*bindContext) (struct glx_context *context, __GLXDRIdrawable *pdraw,
-                      __GLXDRIdrawable *pread);
-   void (*unbindContext) (struct glx_context *context);
-};
-
 struct __GLXDRIdrawableRec
 {
    void (*destroyDrawable) (__GLXDRIdrawable * drawable);
@@ -221,6 +213,9 @@ typedef struct __GLXattributeMachineRec
 
 struct glx_context_vtable {
    void (*destroy)(struct glx_context *ctx);
+   int (*bind)(struct glx_context *context, struct glx_context *old,
+              GLXDrawable draw, GLXDrawable read);
+   void (*unbind)(struct glx_context *context, struct glx_context *new);
    void (*wait_gl)(struct glx_context *ctx);
    void (*wait_x)(struct glx_context *ctx);
    void (*use_x_font)(struct glx_context *ctx,
@@ -388,15 +383,6 @@ struct glx_context
      */
    struct glx_config *config;
 
-#ifdef GLX_DIRECT_RENDERING
-#ifdef GLX_USE_APPLEGL
-   void *driContext;
-   Bool do_destroy;
-#else
-   __GLXDRIcontext *driContext;
-#endif
-#endif
-
     /**
      * The current read-drawable for this context.  Will be None if this
      * context is not current to any drawable.
@@ -790,5 +776,9 @@ GetGLXDRIDrawable(Display *dpy, GLXDrawable drawable);
 
 extern struct glx_screen *
 indirect_create_screen(int screen, struct glx_display * priv);
+extern struct glx_context *
+indirect_create_context(struct glx_screen *psc,
+                       struct glx_config *mode,
+                       struct glx_context *shareList, int renderType);
 
 #endif /* !__GLX_client_h__ */