diff options
author | Kristian Høgsberg <[email protected]> | 2010-05-21 10:36:56 -0400 |
---|---|---|
committer | Kristian Høgsberg <[email protected]> | 2010-05-21 23:24:37 -0400 |
commit | 643b2af0203764cb9f0a5b9e082937ab3f243523 (patch) | |
tree | 685afc7329526395fd7865017d05893c9bd3396d /src/glx/glxclient.h | |
parent | 4db0c760195c67f1bc114fdfb8464791030a526c (diff) |
glx: Split tfp functions out to context vtable
This introduces a new per-context vtable, which lets us clean up all the
#ifdef's a bit and move the DRI2 specific implementation into dri2_glx.c.
Diffstat (limited to 'src/glx/glxclient.h')
-rw-r--r-- | src/glx/glxclient.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/glx/glxclient.h b/src/glx/glxclient.h index 57d254ea987..78c5f33d4d5 100644 --- a/src/glx/glxclient.h +++ b/src/glx/glxclient.h @@ -249,6 +249,14 @@ typedef struct __GLXattributeMachineRec __GLXattribute **stackPointer; } __GLXattributeMachine; +struct glx_context_vtable { + void (*bind_tex_image)(Display * dpy, + GLXDrawable drawable, + int buffer, const int *attrib_list); + void (*release_tex_image)(Display * dpy, GLXDrawable drawable, int buffer); + +}; + /** * GLX state that needs to be kept on the client. One of these records * exist for each context that has been made current by this client. @@ -457,6 +465,8 @@ struct __GLXcontextRec unsigned long thread_id; char gl_extension_bits[__GL_EXT_BYTES]; + + const struct glx_context_vtable *vtable; }; #define __glXSetError(gc,code) \ @@ -511,6 +521,11 @@ struct __GLXscreenConfigsRec */ char *effectiveGLXexts; + /** + * Context vtable to use for direct contexts on this screen + */ + const struct glx_context_vtable *direct_context_vtable; + #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) /** * Per screen direct rendering interface functions and data. |