diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/x11/fakeglx.c | 68 |
1 files changed, 36 insertions, 32 deletions
diff --git a/src/mesa/drivers/x11/fakeglx.c b/src/mesa/drivers/x11/fakeglx.c index 2176b2dae15..909aabd48bf 100644 --- a/src/mesa/drivers/x11/fakeglx.c +++ b/src/mesa/drivers/x11/fakeglx.c @@ -1,6 +1,6 @@ /* * Mesa 3-D graphics library - * Version: 6.1 + * Version: 6.2 * * Copyright (C) 1999-2004 Brian Paul All Rights Reserved. * @@ -80,10 +80,6 @@ "GLX_SGI_video_sync " \ "GLX_SGIX_fbconfig " \ "GLX_SGIX_pbuffer " -/* - "GLX_ARB_render_texture" -*/ - /* * Our fake GLX context will contain a "real" GLX context and an XMesa context. @@ -144,7 +140,8 @@ typedef struct _OverlayInfo { /* * Test if the given XVisualInfo is usable for Mesa rendering. */ -static GLboolean is_usable_visual( XVisualInfo *vinfo ) +static GLboolean +is_usable_visual( XVisualInfo *vinfo ) { switch (vinfo->CLASS) { case StaticGray: @@ -181,7 +178,8 @@ static GLboolean is_usable_visual( XVisualInfo *vinfo ) * >0 = overlay planes * <0 = underlay planes */ -static int level_of_visual( Display *dpy, XVisualInfo *vinfo ) +static int +level_of_visual( Display *dpy, XVisualInfo *vinfo ) { Atom overlayVisualsAtom; OverlayInfo *overlay_info = NULL; @@ -332,7 +330,9 @@ save_glx_visual( Display *dpy, XVisualInfo *vinfo, /* add xmvis to the list */ VisualTable[NumVisuals] = xmvis; NumVisuals++; - /* XXX minor hack */ + /* XXX minor hack, because XMesaCreateVisual doesn't support an + * aux buffers parameter. + */ xmvis->mesa_visual.numAuxBuffers = numAuxBuffers; } return xmvis; @@ -467,7 +467,8 @@ find_glx_visual( Display *dpy, XVisualInfo *vinfo ) * Input: glxvis - the glx_visual * Return: a pixel value or -1 if no transparent pixel */ -static int transparent_pixel( XMesaVisual glxvis ) +static int +transparent_pixel( XMesaVisual glxvis ) { Display *dpy = glxvis->display; XVisualInfo *vinfo = glxvis->visinfo; @@ -532,8 +533,8 @@ static int transparent_pixel( XMesaVisual glxvis ) /* * Try to get an X visual which matches the given arguments. */ -static XVisualInfo *get_visual( Display *dpy, int scr, - unsigned int depth, int xclass ) +static XVisualInfo * +get_visual( Display *dpy, int scr, unsigned int depth, int xclass ) { XVisualInfo temp, *vis; long mask; @@ -586,7 +587,8 @@ static XVisualInfo *get_visual( Display *dpy, int scr, * varname - the name of the environment variable * Return: an XVisualInfo pointer to NULL if error. */ -static XVisualInfo *get_env_visual(Display *dpy, int scr, const char *varname) +static XVisualInfo * +get_env_visual(Display *dpy, int scr, const char *varname) { char value[100], type[100]; int depth, xclass = -1; @@ -631,9 +633,9 @@ static XVisualInfo *get_env_visual(Display *dpy, int scr, const char *varname) * preferred_class - preferred GLX visual class or DONT_CARE * Return: pointer to an XVisualInfo or NULL. */ -static XVisualInfo *choose_x_visual( Display *dpy, int screen, - GLboolean rgba, int min_depth, - int preferred_class ) +static XVisualInfo * +choose_x_visual( Display *dpy, int screen, GLboolean rgba, int min_depth, + int preferred_class ) { XVisualInfo *vis; int xclass, visclass = 0; @@ -801,12 +803,10 @@ static XVisualInfo *choose_x_visual( Display *dpy, int screen, * preferred_class - preferred GLX visual class or DONT_CARE * Return: pointer to an XVisualInfo or NULL. */ -static XVisualInfo *choose_x_overlay_visual( Display *dpy, int scr, - GLboolean rgbFlag, - int level, int trans_type, - int trans_value, - int min_depth, - int preferred_class ) +static XVisualInfo * +choose_x_overlay_visual( Display *dpy, int scr, GLboolean rgbFlag, + int level, int trans_type, int trans_value, + int min_depth, int preferred_class ) { Atom overlayVisualsAtom; OverlayInfo *overlay_info; @@ -931,8 +931,9 @@ static XVisualInfo *choose_x_overlay_visual( Display *dpy, int scr, /**********************************************************************/ -static XMesaVisual choose_visual( Display *dpy, int screen, const int *list, - GLboolean rgbModeDefault ) +static XMesaVisual +choose_visual( Display *dpy, int screen, const int *list, + GLboolean rgbModeDefault ) { const int *parselist; XVisualInfo *vis; @@ -1392,7 +1393,6 @@ Fake_glXMakeContextCurrent( Display *dpy, GLXDrawable draw, } - static Bool Fake_glXMakeCurrent( Display *dpy, GLXDrawable drawable, GLXContext ctx ) { @@ -1400,7 +1400,6 @@ Fake_glXMakeCurrent( Display *dpy, GLXDrawable drawable, GLXContext ctx ) } - static GLXPixmap Fake_glXCreateGLXPixmap( Display *dpy, XVisualInfo *visinfo, Pixmap pixmap ) { @@ -1463,7 +1462,6 @@ Fake_glXDestroyGLXPixmap( Display *dpy, GLXPixmap pixmap ) } - static void Fake_glXCopyContext( Display *dpy, GLXContext src, GLXContext dst, unsigned long mask ) @@ -1477,7 +1475,6 @@ Fake_glXCopyContext( Display *dpy, GLXContext src, GLXContext dst, } - static Bool Fake_glXQueryExtension( Display *dpy, int *errorb, int *event ) { @@ -1512,7 +1509,6 @@ Fake_glXDestroyContext( Display *dpy, GLXContext ctx ) } - static Bool Fake_glXIsDirect( Display *dpy, GLXContext ctx ) { @@ -1554,7 +1550,6 @@ Fake_glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable, } - static Bool Fake_glXQueryVersion( Display *dpy, int *maj, int *min ) { @@ -1567,7 +1562,6 @@ Fake_glXQueryVersion( Display *dpy, int *maj, int *min ) } - /* * Query the GLX attributes of the given XVisualInfo. */ @@ -2738,9 +2732,19 @@ Fake_glXDrawableAttribARB( Display *dpy, GLXDrawable draw, const int *attribList } - +/* silence warning */ extern struct _glxapi_table *_mesa_GetGLXDispatchTable(void); -struct _glxapi_table *_mesa_GetGLXDispatchTable(void) + + +/** + * Create a new GLX API dispatch table with its function pointers + * initialized to point to Mesa's "fake" GLX API functions. + * Note: there's a similar function (_real_GetGLXDispatchTable) that + * returns a new dispatch table with all pointers initalized to point + * to "real" GLX functions (which understand GLX wire protocol, etc). + */ +struct _glxapi_table * +_mesa_GetGLXDispatchTable(void) { static struct _glxapi_table glx; |