From 4c07bd5709830bd11cb29d4d8b8a56e757dc0365 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 8 Jun 2000 22:50:28 +0000 Subject: variety of updates to better conform to real GLX --- src/mesa/drivers/x11/fakeglx.c | 37 +++++++++++++++++-------------- src/mesa/drivers/x11/glxapi.c | 50 +++++++++++++++++++++--------------------- src/mesa/drivers/x11/glxapi.h | 36 +++++++++++------------------- 3 files changed, 59 insertions(+), 64 deletions(-) (limited to 'src') diff --git a/src/mesa/drivers/x11/fakeglx.c b/src/mesa/drivers/x11/fakeglx.c index 5b23187565..43a8c16cf8 100644 --- a/src/mesa/drivers/x11/fakeglx.c +++ b/src/mesa/drivers/x11/fakeglx.c @@ -1,4 +1,4 @@ -/* $Id: fakeglx.c,v 1.33 2000/04/19 01:44:01 brianp Exp $ */ +/* $Id: fakeglx.c,v 1.34 2000/06/08 22:50:28 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -1138,7 +1138,7 @@ Fake_glXMakeContextCurrent( Display *dpy, GLXDrawable draw, } if (!drawBuffer) { /* drawable must be a new window! */ - drawBuffer = XMesaCreateWindowBuffer2( xmctx->xm_visual, draw, ctx ); + drawBuffer = XMesaCreateWindowBuffer2( xmctx->xm_visual, draw, (XMesaContext) ctx ); if (!drawBuffer) { /* Out of memory, or context/drawable depth mismatch */ return False; @@ -1155,7 +1155,7 @@ Fake_glXMakeContextCurrent( Display *dpy, GLXDrawable draw, } if (!readBuffer) { /* drawable must be a new window! */ - readBuffer = XMesaCreateWindowBuffer2( xmctx->xm_visual, read, ctx ); + readBuffer = XMesaCreateWindowBuffer2( xmctx->xm_visual, read, (XMesaContext) ctx ); if (!readBuffer) { /* Out of memory, or context/drawable depth mismatch */ return False; @@ -1223,7 +1223,6 @@ Fake_glXCreateGLXPixmap( Display *dpy, XVisualInfo *visinfo, Pixmap pixmap ) #ifdef GLX_MESA_pixmap_colormap - static GLXPixmap Fake_glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visinfo, Pixmap pixmap, Colormap cmap ) @@ -1246,7 +1245,6 @@ Fake_glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visinfo, } return b->frontbuffer; } - #endif @@ -1263,6 +1261,7 @@ Fake_glXDestroyGLXPixmap( Display *dpy, GLXPixmap pixmap ) } + static void Fake_glXCopyContext( Display *dpy, GLXContext src, GLXContext dst, unsigned long mask ) @@ -1332,6 +1331,8 @@ Fake_glXSwapBuffers( Display *dpy, GLXDrawable drawable ) } + +#ifdef GLX_MESA_copy_sub_buffer static void Fake_glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable, int x, int y, int width, int height ) @@ -1344,6 +1345,7 @@ Fake_glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable, fprintf(stderr, "Mesa Warning: glXCopySubBufferMESA: invalid drawable\n"); } } +#endif @@ -1775,6 +1777,7 @@ Fake_glXGetSelectedEvent( Display *dpy, GLXDrawable drawable, +#ifdef GLX_MESA_release_buffers /* * Release the depth, stencil, accum buffers attached to a GLXDrawable * (a window or pixmap) prior to destroying the GLXDrawable. @@ -1789,16 +1792,18 @@ Fake_glXReleaseBuffersMESA( Display *dpy, GLXDrawable d ) } return False; } +#endif -/* - * GLX_MESA_set_3dfx_mode - */ + +#ifdef GLX_MESA_set_3dfx_mode static GLboolean Fake_glXSet3DfxModeMESA( GLint mode ) { return XMesaSetFXmode( mode ); } +#endif + /* @@ -1858,17 +1863,17 @@ struct _glxapi_table *_mesa_GetGLXDispatchTable(void) glx.WaitGL = Fake_glXWaitGL; glx.WaitX = Fake_glXWaitX; -#ifdef _GLXAPI_VERSION_1_1 +#ifdef GLX_VERSION_1_1 glx.GetClientString = Fake_glXGetClientString; glx.QueryExtensionsString = Fake_glXQueryExtensionsString; glx.QueryServerString = Fake_glXQueryServerString; #endif -#ifdef _GLXAPI_VERSION_1_2 +#ifdef GLX_VERSION_1_2 /*glx.GetCurrentDisplay = Fake_glXGetCurrentDisplay;*/ #endif -#ifdef _GLXAPI_VERSION_1_3 +#ifdef GLX_VERSION_1_3 glx.ChooseFBConfig = Fake_glXChooseFBConfig; glx.CreateNewContext = Fake_glXCreateNewContext; glx.CreatePbuffer = Fake_glXCreatePbuffer; @@ -1888,24 +1893,24 @@ struct _glxapi_table *_mesa_GetGLXDispatchTable(void) glx.SelectEvent = Fake_glXSelectEvent; #endif -#ifdef _GLXAPI_SGI_video_sync +#ifdef GLX_SGI_video_sync glx.GetVideoSyncSGI = Fake_glXGetVideoSyncSGI; glx.WaitVideoSyncSGI = Fake_glXWaitVideoSyncSGI; #endif -#ifdef _GLXAPI_MESA_copy_sub_buffer +#ifdef GLX_MESA_copy_sub_buffer glx.CopySubBufferMESA = Fake_glXCopySubBufferMESA; #endif -#ifdef _GLXAPI_MESA_release_buffers +#ifdef GLX_MESA_release_buffers glx.ReleaseBuffersMESA = Fake_glXReleaseBuffersMESA; #endif -#ifdef _GLXAPI_MESA_pixmap_colormap +#ifdef GLX_MESA_pixmap_colormap glx.CreateGLXPixmapMESA = Fake_glXCreateGLXPixmapMESA; #endif -#ifdef _GLXAPI_MESA_set_3dfx_mode +#ifdef GLX_MESA_set_3dfx_mode glx.Set3DfxModeMESA = Fake_glXSet3DfxModeMESA; #endif diff --git a/src/mesa/drivers/x11/glxapi.c b/src/mesa/drivers/x11/glxapi.c index 93e5808ddb..45c5e0f1c9 100644 --- a/src/mesa/drivers/x11/glxapi.c +++ b/src/mesa/drivers/x11/glxapi.c @@ -1,4 +1,4 @@ -/* $Id: glxapi.c,v 1.16 2000/04/10 21:13:19 brianp Exp $ */ +/* $Id: glxapi.c,v 1.17 2000/06/08 22:50:28 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -316,7 +316,7 @@ void glXWaitX(void) -#ifdef _GLXAPI_VERSION_1_1 +#ifdef GLX_VERSION_1_1 const char *glXGetClientString(Display *dpy, int name) { @@ -348,7 +348,7 @@ const char *glXQueryServerString(Display *dpy, int screen, int name) -#ifdef _GLXAPI_VERSION_1_2 +#ifdef GLX_VERSION_1_2 Display *glXGetCurrentDisplay(void) { return CurrentDisplay; @@ -357,7 +357,7 @@ Display *glXGetCurrentDisplay(void) -#ifdef _GLXAPI_VERSION_1_3 +#ifdef GLX_VERSION_1_3 GLXFBConfig *glXChooseFBConfig(Display *dpy, int screen, const int *attribList, int *nitems) { @@ -516,10 +516,10 @@ void glXSelectEvent(Display *dpy, GLXDrawable drawable, unsigned long mask) (t->SelectEvent)(dpy, drawable, mask); } -#endif /* _GLXAPI_VERSION_1_3 */ +#endif /* GLX_VERSION_1_3 */ -#ifdef _GLXAPI_EXT_import_context +#ifdef GLX_EXT_import_context void glXFreeContextEXT(Display *dpy, GLXContext context) { @@ -565,7 +565,7 @@ int glXQueryContextInfoEXT(Display *dpy, GLXContext context, int attribute,int * #endif -#ifdef _GLXAPI_SGI_video_sync +#ifdef GLX_SGI_video_sync int glXGetVideoSyncSGI(unsigned int *count) { @@ -587,7 +587,7 @@ int glXWaitVideoSyncSGI(int divisor, int remainder, unsigned int *count) #endif -#ifdef _GLXAPI_MESA_copy_sub_buffer +#ifdef GLX_MESA_copy_sub_buffer void glXCopySubBufferMESA(Display *dpy, GLXDrawable drawable, int x, int y, int width, int height) { @@ -600,7 +600,7 @@ void glXCopySubBufferMESA(Display *dpy, GLXDrawable drawable, int x, int y, int #endif -#ifdef _GLXAPI_MESA_release_buffers +#ifdef GLX_MESA_release_buffers Bool glXReleaseBuffersMESA(Display *dpy, Window w) { @@ -613,7 +613,7 @@ Bool glXReleaseBuffersMESA(Display *dpy, Window w) #endif -#ifdef _GLXAPI_MESA_pixmap_colormap +#ifdef GLX_MESA_pixmap_colormap GLXPixmap glXCreateGLXPixmapMESA(Display *dpy, XVisualInfo *visinfo, Pixmap pixmap, Colormap cmap) { @@ -626,7 +626,7 @@ GLXPixmap glXCreateGLXPixmapMESA(Display *dpy, XVisualInfo *visinfo, Pixmap pixm #endif -#ifdef _GLXAPI_MESA_set_3dfx_mode +#ifdef GLX_MESA_set_3dfx_mode GLboolean glXSet3DfxModeMESA(GLint mode) { @@ -659,22 +659,22 @@ const char ** _glxapi_get_extensions(void) { static const char *extensions[] = { -#ifdef _GLXAPI_EXT_import_context +#ifdef GLX_EXT_import_context "GLX_EXT_import_context", #endif -#ifdef _GLXAPI_SGI_video_sync +#ifdef GLX_SGI_video_sync "GLX_SGI_video_sync", #endif -#ifdef _GLXAPI_MESA_copy_sub_buffer +#ifdef GLX_MESA_copy_sub_buffer "GLX_MESA_copy_sub_buffer", #endif -#ifdef _GLXAPI_MESA_release_buffers +#ifdef GLX_MESA_release_buffers "GLX_MESA_release_buffers", #endif -#ifdef _GLXAPI_MESA_pixmap_colormap +#ifdef GLX_MESA_pixmap_colormap "GLX_MESA_pixmap_colormap", #endif -#ifdef _GLXAPI_MESA_set_3dfx_mode +#ifdef GLX_MESA_set_3dfx_mode "GLX_MESA_set_3dfx_mode", #endif NULL @@ -740,17 +740,17 @@ static struct name_address_pair GLX_functions[] = { { "glXWaitGL", (GLvoid *) glXWaitGL }, { "glXWaitX", (GLvoid *) glXWaitX }, -#ifdef _GLXAPI_VERSION_1_1 +#ifdef GLX_VERSION_1_1 { "glXGetClientString", (GLvoid *) glXGetClientString }, { "glXQueryExtensionsString", (GLvoid *) glXQueryExtensionsString }, { "glXQueryServerString", (GLvoid *) glXQueryServerString }, #endif -#ifdef _GLXAPI_VERSION_1_2 +#ifdef GLX_VERSION_1_2 { "glXGetCurrentDisplay", (GLvoid *) glXGetCurrentDisplay }, #endif -#ifdef _GLXAPI_VERSION_1_3 +#ifdef GLX_VERSION_1_3 { "glXChooseFBConfig", (GLvoid *) glXChooseFBConfig }, { "glXCreateNewContext", (GLvoid *) glXCreateNewContext }, { "glXCreatePbuffer", (GLvoid *) glXCreatePbuffer }, @@ -769,24 +769,24 @@ static struct name_address_pair GLX_functions[] = { { "glXSelectEvent", (GLvoid *) glXSelectEvent }, #endif -#ifdef _GLXAPI_SGI_video_sync +#ifdef GLX_SGI_video_sync { "glXGetVideoSyncSGI", (GLvoid *) glXGetVideoSyncSGI }, { "glXWaitVideoSyncSGI", (GLvoid *) glXWaitVideoSyncSGI }, #endif -#ifdef _GLXAPI_MESA_copy_sub_buffer +#ifdef GLX_MESA_copy_sub_buffer { "glXCopySubBufferMESA", (GLvoid *) glXCopySubBufferMESA }, #endif -#ifdef _GLXAPI_MESA_release_buffers +#ifdef GLX_MESA_release_buffers { "glXReleaseBuffersMESA", (GLvoid *) glXReleaseBuffersMESA }, #endif -#ifdef _GLXAPI_MESA_pixmap_colormap +#ifdef GLX_MESA_pixmap_colormap { "glXCreateGLXPixmapMESA", (GLvoid *) glXCreateGLXPixmapMESA }, #endif -#ifdef _GLXAPI_MESA_set_3dfx_mode +#ifdef GLX_MESA_set_3dfx_mode { "glXSet3DfxModeMESA", (GLvoid *) glXSet3DfxModeMESA }, #endif diff --git a/src/mesa/drivers/x11/glxapi.h b/src/mesa/drivers/x11/glxapi.h index b669cfc08b..8116c49b9c 100644 --- a/src/mesa/drivers/x11/glxapi.h +++ b/src/mesa/drivers/x11/glxapi.h @@ -1,10 +1,10 @@ -/* $Id: glxapi.h,v 1.5 2000/04/10 21:13:19 brianp Exp $ */ +/* $Id: glxapi.h,v 1.6 2000/06/08 22:50:28 brianp Exp $ */ /* * Mesa 3-D graphics library * Version: 3.3 * - * Copyright (C) 1999 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2000 Brian Paul All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -29,21 +29,11 @@ #define _glxapi_h_ +#define GLX_GLXEXT_LEGACY +#define GL_GLEXT_PROTOTYPES #include "GL/glx.h" -#define _GLXAPI_VERSION_1_1 1 -#define _GLXAPI_VERSION_1_2 1 -#define _GLXAPI_VERSION_1_3 1 - -#define _GLXAPI_EXT_import_context 1 -#define _GLXAPI_SGI_video_sync 1 -#define _GLXAPI_MESA_copy_sub_buffer 1 -#define _GLXAPI_MESA_release_buffers 1 -#define _GLXAPI_MESA_pixmap_colormap 1 -#define _GLXAPI_MESA_set_3dfx_mode 1 - - /* * Almost all the GLX API functions get routed through this dispatch table. * The exceptions are the glXGetCurrentXXX() functions. @@ -73,17 +63,17 @@ struct _glxapi_table { void (*WaitGL)(void); void (*WaitX)(void); -#ifdef _GLXAPI_VERSION_1_1 +#ifdef GLX_VERSION_1_1 const char *(*GetClientString)(Display *dpy, int name); const char *(*QueryExtensionsString)(Display *dpy, int screen); const char *(*QueryServerString)(Display *dpy, int screen, int name); #endif -#ifdef _GLXAPI_VERSION_1_2 +#ifdef GLX_VERSION_1_2 /*Display *(*GetCurrentDisplay)(void);*/ #endif -#ifdef _GLXAPI_VERSION_1_3 +#ifdef GLX_VERSION_1_3 GLXFBConfig *(*ChooseFBConfig)(Display *dpy, int screen, const int *attribList, int *nitems); GLXContext (*CreateNewContext)(Display *dpy, GLXFBConfig config, int renderType, GLXContext shareList, Bool direct); GLXPbuffer (*CreatePbuffer)(Display *dpy, GLXFBConfig config, const int *attribList); @@ -103,7 +93,7 @@ struct _glxapi_table { void (*SelectEvent)(Display *dpy, GLXDrawable drawable, unsigned long mask); #endif -#ifdef _GLXAPI_EXT_import_context +#ifdef GLX_EXT_import_context void (*FreeContextEXT)(Display *dpy, GLXContext context); GLXContextID (*GetContextIDEXT)(const GLXContext context); Display *(*GetCurrentDisplayEXT)(void); @@ -111,7 +101,7 @@ struct _glxapi_table { int (*QueryContextInfoEXT)(Display *dpy, GLXContext context, int attribute,int *value); #endif -#ifdef _GLXAPI_SGI_video_sync +#ifdef GLX_SGI_video_sync int (*GetVideoSyncSGI)(unsigned int *count); int (*WaitVideoSyncSGI)(int divisor, int remainder, unsigned int *count); #endif @@ -120,19 +110,19 @@ struct _glxapi_table { * XXX thesa Mesa-specific functions might not belong here */ -#ifdef _GLXAPI_MESA_copy_sub_buffer +#ifdef GLX_MESA_copy_sub_buffer void (*CopySubBufferMESA)(Display *dpy, GLXDrawable drawable, int x, int y, int width, int height); #endif -#ifdef _GLXAPI_MESA_release_buffers +#ifdef GLX_MESA_release_buffers Bool (*ReleaseBuffersMESA)(Display *dpy, Window w); #endif -#ifdef _GLXAPI_MESA_pixmap_colormap +#ifdef GLX_MESA_pixmap_colormap GLXPixmap (*CreateGLXPixmapMESA)(Display *dpy, XVisualInfo *visinfo, Pixmap pixmap, Colormap cmap); #endif -#ifdef _GLXAPI_MESA_set_3dfx_mode +#ifdef GLX_MESA_set_3dfx_mode GLboolean (*Set3DfxModeMESA)(GLint mode); #endif -- cgit v1.2.3