summaryrefslogtreecommitdiff
path: root/GL/glx/glxcontext.h
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2006-03-12 00:11:34 +0000
committerKristian Høgsberg <krh@redhat.com>2006-03-12 00:11:34 +0000
commitc3342c8000f6d2bfb61e2cf95e028d11b59698fa (patch)
tree854fa59122eff885f4f5bcf2300bdf69b5bb2b8f /GL/glx/glxcontext.h
parentb1b731c28630965d9e2defe62d1108270dc8264c (diff)
Merge accel_indirect branch to HEAD.
Diffstat (limited to 'GL/glx/glxcontext.h')
-rw-r--r--GL/glx/glxcontext.h50
1 files changed, 33 insertions, 17 deletions
diff --git a/GL/glx/glxcontext.h b/GL/glx/glxcontext.h
index 18d8b44c2..5c27aa0b8 100644
--- a/GL/glx/glxcontext.h
+++ b/GL/glx/glxcontext.h
@@ -41,32 +41,48 @@
**
*/
-typedef struct __GLXcontextRec __GLXcontext;
-
/* XXX: should be defined somewhere globally */
#define CAPI
#include "GL/internal/glcore.h"
-struct __GLXcontextRec {
+typedef struct __GLXtextureFromPixmap __GLXtextureFromPixmap;
+struct __GLXtextureFromPixmap {
+ int (*bindTexImage) (__GLXcontext *baseContext,
+ int buffer,
+ __GLXpixmap *pixmap);
+ int (*releaseTexImage) (__GLXcontext *baseContext,
+ int buffer,
+ __GLXpixmap *pixmap);
+};
+
+
+struct __GLXcontext {
+ void (*destroy) (__GLXcontext *context);
+ int (*makeCurrent) (__GLXcontext *context);
+ int (*loseCurrent) (__GLXcontext *context);
+ int (*copy) (__GLXcontext *dst,
+ __GLXcontext *src,
+ unsigned long mask);
+ int (*forceCurrent) (__GLXcontext *context);
+
+ __GLXdrawable *(*createDrawable)(__GLXcontext *context,
+ DrawablePtr pDraw,
+ XID drawId);
+
+ __GLXtextureFromPixmap *textureFromPixmap;
+
/*
** list of context structs
*/
- struct __GLXcontextRec *last;
- struct __GLXcontextRec *next;
+ __GLXcontext *last;
+ __GLXcontext *next;
/*
** list of contexts bound to the same drawable
*/
- struct __GLXcontextRec *nextDrawPriv;
- struct __GLXcontextRec *nextReadPriv;
-
- /*
- ** Opaque pointer the context object created by the GL that the
- ** server is bound with. Never dereferenced by this code, but used
- ** as a handle to feed to the routines in the screen info struct.
- */
- __GLinterface *gc;
+ __GLXcontext *nextDrawPriv;
+ __GLXcontext *nextReadPriv;
/*
** mode struct for this context
@@ -78,7 +94,7 @@ struct __GLXcontextRec {
** when the context is created.
*/
ScreenPtr pScreen;
- __GLXscreenInfo *pGlxScreen;
+ __GLXscreen *pGlxScreen;
/*
** This context is created with respect to this visual.
@@ -152,8 +168,8 @@ struct __GLXcontextRec {
/*
** The drawable private this context is bound to
*/
- __GLXdrawablePrivate *drawPriv;
- __GLXdrawablePrivate *readPriv;
+ __GLXdrawable *drawPriv;
+ __GLXdrawable *readPriv;
};
/* pending state defines */