variety of updates to better conform to real GLX
This commit is contained in:
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user