diff options
Diffstat (limited to 'src/mesa/drivers/x11/glxapi.h')
-rw-r--r-- | src/mesa/drivers/x11/glxapi.h | 70 |
1 files changed, 55 insertions, 15 deletions
diff --git a/src/mesa/drivers/x11/glxapi.h b/src/mesa/drivers/x11/glxapi.h index 63104b97f92..d24b74bcbd5 100644 --- a/src/mesa/drivers/x11/glxapi.h +++ b/src/mesa/drivers/x11/glxapi.h @@ -1,4 +1,4 @@ -/* $Id: glxapi.h,v 1.7 2000/12/14 17:44:08 brianp Exp $ */ +/* $Id: glxapi.h,v 1.8 2000/12/15 04:02:50 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -41,6 +41,9 @@ * Specifically, a real GLX library (like SGI's or the Utah GLX) and Mesa's * pseudo-GLX can be present at the same time. The former being used on * GLX-enabled X servers and the later on non-GLX X servers. + * + * XXX Note that this hasn't actually been fully used yet in either Mesa or + * the DRI. Red Hat, however, has used it for their custom libGL. */ struct _glxapi_table { /* GLX 1.0 functions */ @@ -92,6 +95,25 @@ struct _glxapi_table { void (*SelectEvent)(Display *dpy, GLXDrawable drawable, unsigned long mask); #endif +#ifdef GLX_SGI_swap_control + int (*SwapIntervalSGI)(int); +#endif + +#ifdef GLX_SGI_video_sync + int (*GetVideoSyncSGI)(unsigned int *count); + int (*WaitVideoSyncSGI)(int divisor, int remainder, unsigned int *count); +#endif + +#ifdef GLX_SGI_make_current_read + Bool (*MakeCurrentReadSGI)(Display *, GLXDrawable, GLXDrawable, GLXContext); + GLXDrawable (*GetCurrentReadDrawableSGI)(void); +#endif + +#if defined(_VL_H) && defined(GLX_SGIX_video_source) + GLXVideoSourceSGIX (*CreateGLXVideoSourceSGIX)(Display *, int, VLServer, VLPath, int, VLNode); + void (*DestroyGLXVideoSourceSGIX)(Display *, GLXVideoSourceSGIX); +#endif + #ifdef GLX_EXT_import_context void (*FreeContextEXT)(Display *dpy, GLXContext context); GLXContextID (*GetContextIDEXT)(const GLXContext context); @@ -100,9 +122,25 @@ struct _glxapi_table { int (*QueryContextInfoEXT)(Display *dpy, GLXContext context, int attribute,int *value); #endif -#ifdef GLX_SGI_video_sync - int (*GetVideoSyncSGI)(unsigned int *count); - int (*WaitVideoSyncSGI)(int divisor, int remainder, unsigned int *count); +#ifdef GLX_SGIX_fbconfig + int (*GetFBConfigAttribSGIX)(Display *, GLXFBConfigSGIX, int, int *); + GLXFBConfigSGIX * (*ChooseFBConfigSGIX)(Display *, int, int *, int *); + GLXPixmap (*CreateGLXPixmapWithConfigSGIX)(Display *, GLXFBConfigSGIX, Pixmap); + GLXContext (*CreateContextWithConfigSGIX)(Display *, GLXFBConfigSGIX, int, GLXContext, Bool); + XVisualInfo * (*GetVisualFromFBConfigSGIX)(Display *, GLXFBConfigSGIX); + GLXFBConfigSGIX (*GetFBConfigFromVisualSGIX)(Display *, XVisualInfo *); +#endif + +#ifdef GLX_SGIX_pbuffer + GLXPbufferSGIX (*CreateGLXPbufferSGIX)(Display *, GLXFBConfigSGIX, unsigned int, unsigned int, int *); + void (*DestroyGLXPbufferSGIX)(Display *, GLXPbufferSGIX); + int (*QueryGLXPbufferSGIX)(Display *, GLXPbufferSGIX, int, unsigned int *); + void (*SelectEventSGIX)(Display *, GLXDrawable, unsigned long); + void (*GetSelectedEventSGIX)(Display *, GLXDrawable, unsigned long *); +#endif + +#ifdef GLX_SGI_cushion + void (*CushionSGI)(Display *, Window, float); #endif #ifdef GLX_SGIX_video_resize @@ -113,20 +151,22 @@ struct _glxapi_table { int (*ChannelRectSyncSGIX)(Display *, int, int, GLenum); #endif -#ifdef GLX_SGIX_fbconfig - int (*GetFBConfigAttribSGIX)(Display *, GLXFBConfigSGIX, int, int *); - GLXFBConfigSGIX * (*ChooseFBConfigSGIX)(Display *, int, int *, int *); - GLXPixmap (*CreateGLXPixmapWithConfigSGIX)(Display *, GLXFBConfigSGIX, Pixmap); - GLXContext (*CreateContextWithConfigSGIX)(Display *, GLXFBConfigSGIX, int, GLXContext, Bool); - XVisualInfo * (*GetVisualFromFBConfigSGIX)(Display *, GLXFBConfigSGIX); - GLXFBConfigSGIX (*GetFBConfigFromVisualSGIX)(Display *, XVisualInfo *); +#if defined (_DM_BUFFER_H_) && defined(GLX_SGIX_dmbuffer) + Bool (*AssociateDMPbufferSGIX)(Display *, GLXPbufferSGIX, DMparams *, DMbuffer); #endif - /* XXX more glx extensions to add here */ +#ifdef GLX_SGIX_swap_group + void (*JoinSwapGroupSGIX)(Display *, GLXDrawable, GLXDrawable); +#endif + +#ifdef GLX_SGIX_swap_barrier + void (*BindSwapBarrierSGIX)(Display *, GLXDrawable, int); + Bool (*QueryMaxSwapBarriersSGIX)(Display *, int, int *); +#endif - /* - * XXX thesa Mesa-specific functions might not belong here - */ +#ifdef GLX_SUN_get_transparent_index + Status (*GetTransparentIndexSUN)(Display *, Window, Window, long *); +#endif #ifdef GLX_MESA_copy_sub_buffer void (*CopySubBufferMESA)(Display *dpy, GLXDrawable drawable, int x, int y, int width, int height); |