* \author Ian Romanick <idr@us.ibm.com>
*/
-#include <X11/X.h>
-#include <GL/glx.h>
-#include "GL/glxint.h"
+#if defined(IN_MINI_GLX)
+# include <stdlib.h>
+# include <string.h>
+# include <GL/gl.h>
+# include "GL/internal/dri_interface.h"
+# include "imports.h"
+# define __glXMemset memset
+#else
+# include <X11/X.h>
+# include <GL/glx.h>
+# include "GL/glxint.h"
-#ifdef XFree86Server
-# include "GL/glx_ansic.h"
+# ifdef XFree86Server
+# include "GL/glx_ansic.h"
extern void * __glXMalloc( size_t size );
extern void __glXFree( void * ptr );
-# define Xmalloc __glXMalloc
-# define Xfree __glXFree
-#else
-# include <X11/Xlibint.h>
-# define __glXMemset memset
-#endif /* XFree86Server */
+# define _mesa_malloc(b) __glXMalloc(b)
+# define _mesa_free(m) __glXFree(m)
+# else
+# include <X11/Xlibint.h>
+# define __glXMemset memset
+# define _mesa_malloc(b) Xmalloc(b)
+# define _mesa_free(m) Xfree(m)
+# endif /* XFree86Server */
+#endif /* !defined(IN_MINI_GLX) */
#include "glcontextmodes.h"
+#if !defined(IN_MINI_GLX)
#define NUM_VISUAL_TYPES 6
/**
* \param mode GL context mode whose data is to be returned.
* \param attribute Attribute of \c mode that is to be returned.
* \param value_return Location to store the data member of \c mode.
- * \return If \c attribute is a valid attribute of \c mode, \c Success is
+ * \return If \c attribute is a valid attribute of \c mode, zero is
* returned. Otherwise \c GLX_BAD_ATTRIBUTE is returned.
*/
int
switch (attribute) {
case GLX_USE_GL:
*value_return = GL_TRUE;
- return Success;
+ return 0;
case GLX_BUFFER_SIZE:
*value_return = mode->rgbBits;
- return Success;
+ return 0;
case GLX_RGBA:
*value_return = mode->rgbMode;
- return Success;
+ return 0;
case GLX_RED_SIZE:
*value_return = mode->redBits;
- return Success;
+ return 0;
case GLX_GREEN_SIZE:
*value_return = mode->greenBits;
- return Success;
+ return 0;
case GLX_BLUE_SIZE:
*value_return = mode->blueBits;
- return Success;
+ return 0;
case GLX_ALPHA_SIZE:
*value_return = mode->alphaBits;
- return Success;
+ return 0;
case GLX_DOUBLEBUFFER:
*value_return = mode->doubleBufferMode;
- return Success;
+ return 0;
case GLX_STEREO:
*value_return = mode->stereoMode;
- return Success;
+ return 0;
case GLX_AUX_BUFFERS:
*value_return = mode->numAuxBuffers;
- return Success;
+ return 0;
case GLX_DEPTH_SIZE:
*value_return = mode->depthBits;
- return Success;
+ return 0;
case GLX_STENCIL_SIZE:
*value_return = mode->stencilBits;
- return Success;
+ return 0;
case GLX_ACCUM_RED_SIZE:
*value_return = mode->accumRedBits;
- return Success;
+ return 0;
case GLX_ACCUM_GREEN_SIZE:
*value_return = mode->accumGreenBits;
- return Success;
+ return 0;
case GLX_ACCUM_BLUE_SIZE:
*value_return = mode->accumBlueBits;
- return Success;
+ return 0;
case GLX_ACCUM_ALPHA_SIZE:
*value_return = mode->accumAlphaBits;
- return Success;
+ return 0;
case GLX_LEVEL:
*value_return = mode->level;
- return Success;
+ return 0;
case GLX_TRANSPARENT_TYPE_EXT:
*value_return = mode->transparentPixel;
- return Success;
+ return 0;
case GLX_TRANSPARENT_RED_VALUE:
*value_return = mode->transparentRed;
- return Success;
+ return 0;
case GLX_TRANSPARENT_GREEN_VALUE:
*value_return = mode->transparentGreen;
- return Success;
+ return 0;
case GLX_TRANSPARENT_BLUE_VALUE:
*value_return = mode->transparentBlue;
- return Success;
+ return 0;
case GLX_TRANSPARENT_ALPHA_VALUE:
*value_return = mode->transparentAlpha;
- return Success;
+ return 0;
case GLX_TRANSPARENT_INDEX_VALUE:
*value_return = mode->transparentIndex;
- return Success;
+ return 0;
case GLX_X_VISUAL_TYPE:
*value_return = mode->visualType;
- return Success;
+ return 0;
case GLX_CONFIG_CAVEAT:
*value_return = mode->visualRating;
- return Success;
+ return 0;
case GLX_VISUAL_ID:
*value_return = mode->visualID;
- return Success;
+ return 0;
case GLX_DRAWABLE_TYPE:
*value_return = mode->drawableType;
- return Success;
+ return 0;
case GLX_RENDER_TYPE:
*value_return = mode->renderType;
- return Success;
+ return 0;
case GLX_X_RENDERABLE:
*value_return = mode->xRenderable;
- return Success;
+ return 0;
case GLX_FBCONFIG_ID:
*value_return = mode->fbconfigID;
- return Success;
+ return 0;
case GLX_MAX_PBUFFER_WIDTH:
*value_return = mode->maxPbufferWidth;
- return Success;
+ return 0;
case GLX_MAX_PBUFFER_HEIGHT:
*value_return = mode->maxPbufferHeight;
- return Success;
+ return 0;
case GLX_MAX_PBUFFER_PIXELS:
*value_return = mode->maxPbufferPixels;
- return Success;
+ return 0;
case GLX_OPTIMAL_PBUFFER_WIDTH_SGIX:
*value_return = mode->optimalPbufferWidth;
- return Success;
+ return 0;
case GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX:
*value_return = mode->optimalPbufferHeight;
- return Success;
+ return 0;
case GLX_SWAP_METHOD_OML:
*value_return = mode->swapMethod;
- return Success;
+ return 0;
case GLX_SAMPLE_BUFFERS_SGIS:
*value_return = mode->sampleBuffers;
- return Success;
+ return 0;
case GLX_SAMPLES_SGIS:
*value_return = mode->samples;
- return Success;
+ return 0;
/* Applications are NOT allowed to query GLX_VISUAL_SELECT_GROUP_SGIX.
* It is ONLY for communication between the GLX client and the GLX
return GLX_BAD_ATTRIBUTE;
}
}
+#endif /* !defined(IN_MINI_GLX) */
/**
next = & base;
for ( i = 0 ; i < count ; i++ ) {
- *next = (__GLcontextModes *) Xmalloc( size );
+ *next = (__GLcontextModes *) _mesa_malloc( size );
if ( *next == NULL ) {
_gl_context_modes_destroy( base );
base = NULL;
while ( modes != NULL ) {
__GLcontextModes * const next = modes->next;
- Xfree( modes );
+ _mesa_free( modes );
modes = next;
}
}