Add two aliases for some PointParameters entrypoints for libglx compatibility.
[mesa.git] / src / glx / x11 / glx_pbuffer.c
index a03189ae3e6313d77007f1e9010314bdff304f9a..b515f0c8395484d3dc3440442c0f350f91d65f0c 100644 (file)
@@ -38,6 +38,7 @@
 #include "glapi.h"
 #include "glxextensions.h"
 #include "glcontextmodes.h"
+#include "glheader.h"
 
 #ifdef IN_DOXYGEN
 #define GLX_PREFIX(x) x
@@ -277,14 +278,16 @@ CreateDrawable( Display *dpy, const __GLcontextModes * fbconfig,
 {
    xGLXCreateWindowReq * req;
    CARD32 * data;
-   unsigned int  i;
-
+   unsigned int i;
 
-   for ( i = 0 ; attrib_list[i * 2] != None ; i++ )
-      /* empty */ ;
+   i = 0;
+   if (attrib_list) {
+       while (attrib_list[i * 2] != None)
+          i++;
+   }
 
    LockDisplay(dpy);
-   GetReqExtra( GLXCreateWindow, 20 + (8 * i), req );
+   GetReqExtra( GLXCreateWindow, 8 * i, req );
    data = (CARD32 *) (req + 1);
 
    req->reqType = __glXSetupForCommand(dpy);
@@ -292,12 +295,15 @@ CreateDrawable( Display *dpy, const __GLcontextModes * fbconfig,
    req->screen = (CARD32) fbconfig->screen;
    req->fbconfig = fbconfig->fbconfigID;
    req->window = (GLXPbuffer) drawable;
+   req->glxwindow = (GLXWindow) XAllocID(dpy);
    req->numAttribs = (CARD32) i;
 
+   memcpy( data, attrib_list, 8 * i );
+   
    UnlockDisplay(dpy);
    SyncHandle();
    
-   return drawable;
+   return (GLXDrawable)req->glxwindow;
 }
 
 
@@ -354,10 +360,11 @@ CreatePbuffer( Display *dpy, const __GLcontextModes * fbconfig,
    CARD32 * data;
    unsigned int  i;
 
-
-   for ( i = 0 ; attrib_list[i * 2] != None ; i++ )
-      /* empty */ ;
-
+   i = 0;
+   if (attrib_list) {
+       while (attrib_list[i * 2])
+          i++;
+   }
 
    LockDisplay(dpy);
    id = XAllocID(dpy);
@@ -414,7 +421,7 @@ CreatePbuffer( Display *dpy, const __GLcontextModes * fbconfig,
 /**
  * Create a new pbuffer.
  */
-GLXPbufferSGIX
+PUBLIC GLXPbufferSGIX
 GLX_PREFIX(glXCreateGLXPbufferSGIX)(Display *dpy, GLXFBConfigSGIX config,
                                    unsigned int width, unsigned int height,
                                    int *attrib_list)
@@ -428,7 +435,7 @@ GLX_PREFIX(glXCreateGLXPbufferSGIX)(Display *dpy, GLXFBConfigSGIX config,
 /**
  * Create a new pbuffer.
  */
-GLXPbuffer
+PUBLIC GLXPbuffer
 GLX_PREFIX(glXCreatePbuffer)(Display *dpy, GLXFBConfig config,
                             const int *attrib_list)
 {
@@ -441,7 +448,7 @@ GLX_PREFIX(glXCreatePbuffer)(Display *dpy, GLXFBConfig config,
 /**
  * Destroy an existing pbuffer.
  */
-void
+PUBLIC void
 GLX_PREFIX(glXDestroyPbuffer)(Display *dpy, GLXPbuffer pbuf)
 {
    DestroyPbuffer( dpy, pbuf );
@@ -451,7 +458,7 @@ GLX_PREFIX(glXDestroyPbuffer)(Display *dpy, GLXPbuffer pbuf)
 /**
  * Query an attribute of a drawable.
  */
-void
+PUBLIC void
 GLX_PREFIX(glXQueryDrawable)(Display *dpy, GLXDrawable drawable,
                                   int attribute, unsigned int *value)
 {
@@ -462,7 +469,7 @@ GLX_PREFIX(glXQueryDrawable)(Display *dpy, GLXDrawable drawable,
 /**
  * Query an attribute of a pbuffer.
  */
-int
+PUBLIC int
 GLX_PREFIX(glXQueryGLXPbufferSGIX)(Display *dpy, GLXPbufferSGIX drawable,
                                   int attribute, unsigned int *value)
 {
@@ -473,7 +480,7 @@ GLX_PREFIX(glXQueryGLXPbufferSGIX)(Display *dpy, GLXPbufferSGIX drawable,
 /**
  * Select the event mask for a drawable.
  */
-void
+PUBLIC void
 GLX_PREFIX(glXSelectEvent)(Display *dpy, GLXDrawable drawable,
                           unsigned long mask)
 {
@@ -489,7 +496,7 @@ GLX_PREFIX(glXSelectEvent)(Display *dpy, GLXDrawable drawable,
 /**
  * Get the selected event mask for a drawable.
  */
-void
+PUBLIC void
 GLX_PREFIX(glXGetSelectedEvent)(Display *dpy, GLXDrawable drawable,
                                unsigned long *mask)
 {
@@ -506,7 +513,7 @@ GLX_PREFIX(glXGetSelectedEvent)(Display *dpy, GLXDrawable drawable,
 }
 
 
-GLXPixmap
+PUBLIC GLXPixmap
 GLX_PREFIX(glXCreatePixmap)( Display *dpy, GLXFBConfig config, Pixmap pixmap,
                             const int *attrib_list )
 {
@@ -516,7 +523,7 @@ GLX_PREFIX(glXCreatePixmap)( Display *dpy, GLXFBConfig config, Pixmap pixmap,
 }
 
 
-GLXWindow
+PUBLIC GLXWindow
 GLX_PREFIX(glXCreateWindow)( Display *dpy, GLXFBConfig config, Window win,
                             const int *attrib_list )
 {
@@ -526,31 +533,31 @@ GLX_PREFIX(glXCreateWindow)( Display *dpy, GLXFBConfig config, Window win,
 }
 
 
-void
+PUBLIC void
 GLX_PREFIX(glXDestroyPixmap)(Display *dpy, GLXPixmap pixmap)
 {
    DestroyDrawable( dpy, (GLXDrawable) pixmap, X_GLXDestroyPixmap );
 }
 
 
-void
+PUBLIC void
 GLX_PREFIX(glXDestroyWindow)(Display *dpy, GLXWindow win)
 {
    DestroyDrawable( dpy, (GLXDrawable) win, X_GLXDestroyWindow );
 }
 
 
-GLX_ALIAS_VOID(glXDestroyGLXPbufferSGIX,
+PUBLIC GLX_ALIAS_VOID(glXDestroyGLXPbufferSGIX,
          (Display *dpy, GLXPbufferSGIX pbuf),
          (dpy, pbuf),
          glXDestroyPbuffer)
 
-GLX_ALIAS_VOID(glXSelectEventSGIX,
+PUBLIC GLX_ALIAS_VOID(glXSelectEventSGIX,
          (Display *dpy, GLXDrawable drawable, unsigned long mask),
          (dpy, drawable, mask),
          glXSelectEvent)
 
-GLX_ALIAS_VOID(glXGetSelectedEventSGIX,
+PUBLIC GLX_ALIAS_VOID(glXGetSelectedEventSGIX,
          (Display *dpy, GLXDrawable drawable, unsigned long *mask),
          (dpy, drawable, mask),
          glXGetSelectedEvent)