variety of updates to better conform to real GLX
authorBrian Paul <brian.paul@tungstengraphics.com>
Thu, 8 Jun 2000 22:50:28 +0000 (22:50 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Thu, 8 Jun 2000 22:50:28 +0000 (22:50 +0000)
src/mesa/drivers/x11/fakeglx.c
src/mesa/drivers/x11/glxapi.c
src/mesa/drivers/x11/glxapi.h

index 5b23187..43a8c16 100644 (file)
@@ -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
 
index 93e5808..45c5e0f 100644 (file)
@@ -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
 
index b669cfc..8116c49 100644 (file)
@@ -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"),
 #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