Changes to allow more than just Windows and UNIX build targets. Adds in the _X11 define for the Unix boys and will include the _OSX define to handle stuff for OSX.

This commit is contained in:
Gregory Pierce 2002-12-30 07:07:40 +00:00
parent e0ff212e5e
commit 64d68e7894
2 changed files with 42 additions and 134 deletions

View File

@ -43,16 +43,10 @@ THE POSSIBILITY OF SUCH DAMAGE.
#pragma warn -8065 #pragma warn -8065
#endif /* __BORLANDC__ */ #endif /* __BORLANDC__ */
#ifndef _WIN32 #ifdef _X11
/*wglGetProcAddressPROC wglGetProcAddress = NULL;
#else
*/
/* GLX functions */
#include <dlfcn.h> #include <dlfcn.h>
glXGetFBConfigsPROC glXGetFBConfigs = NULL; glXGetFBConfigsPROC glXGetFBConfigs = NULL;
glXChooseFBConfigPROC glXChooseFBConfig = NULL; glXChooseFBConfigPROC glXChooseFBConfig = NULL;
glXGetFBConfigAttribPROC glXGetFBConfigAttrib = NULL; glXGetFBConfigAttribPROC glXGetFBConfigAttrib = NULL;
@ -71,15 +65,7 @@ glXGetCurrentDisplayPROC glXGetCurrentDisplay = NULL;
glXQueryContextPROC glXQueryContext = NULL; glXQueryContextPROC glXQueryContext = NULL;
glXSelectEventPROC glXSelectEvent = NULL; glXSelectEventPROC glXSelectEvent = NULL;
glXGetSelectedEventPROC glXGetSelectedEvent = NULL; glXGetSelectedEventPROC glXGetSelectedEvent = NULL;
/*glXGetContextIDEXTPROC glXGetContextIDEXT = NULL;
glXGetCurrentDrawableEXTPROC glXGetCurrentDrawableEXT = NULL;
glXImportContextEXTPROC glXImportContextEXT = NULL;
glXFreeContextEXTPROC glXFreeContextEXT = NULL;
glXQueryContextInfoEXTPROC glXQueryContextInfoEXT = NULL;
*/
glXGetProcAddressARBPROC glXGetProcAddressARB = NULL; glXGetProcAddressARBPROC glXGetProcAddressARB = NULL;
glXChooseVisualPROC glXChooseVisual = NULL; glXChooseVisualPROC glXChooseVisual = NULL;
glXCopyContextPROC glXCopyContext = NULL; glXCopyContextPROC glXCopyContext = NULL;
glXCreateContextPROC glXCreateContext = NULL; glXCreateContextPROC glXCreateContext = NULL;
@ -783,10 +769,12 @@ glVertexArrayRangeNVPROC glVertexArrayRangeNV = NULL;
#ifdef _WIN32 #ifdef _WIN32
wglAllocateMemoryNVPROC wglAllocateMemoryNV = NULL; wglAllocateMemoryNVPROC wglAllocateMemoryNV = NULL;
wglFreeMemoryNVPROC wglFreeMemoryNV = NULL; wglFreeMemoryNVPROC wglFreeMemoryNV = NULL;
#else #endif /* WIN32 */
#ifdef _X11
glXAllocateMemoryNVPROC glXAllocateMemoryNV = NULL; glXAllocateMemoryNVPROC glXAllocateMemoryNV = NULL;
glXFreeMemoryNVPROC glXFreeMemoryNV = NULL; glXFreeMemoryNVPROC glXFreeMemoryNV = NULL;
#endif /* WIN32 */ #endif /* X11 */
#endif /* GL_NV_vertex_array_range */ #endif /* GL_NV_vertex_array_range */
@ -1251,10 +1239,6 @@ glBlendFuncSeparateINGRPROC glBlendFuncSeparateINGR = NULL;
#endif /* GL_EXT_blend_func_separate */ #endif /* GL_EXT_blend_func_separate */
#ifdef GL_VERSION_1_4 #ifdef GL_VERSION_1_4
/*#ifndef GL_VERSION_1_2
glBlendColorPROC glBlendColor = NULL;
glBlendEquationPROC glBlendEquation = NULL;
#endif *//* GL_VERSION_1_2 */
glFogCoordfPROC glFogCoordf = NULL; glFogCoordfPROC glFogCoordf = NULL;
glFogCoordfvPROC glFogCoordfv = NULL; glFogCoordfvPROC glFogCoordfv = NULL;
glFogCoorddPROC glFogCoordd = NULL; glFogCoorddPROC glFogCoordd = NULL;
@ -1346,7 +1330,9 @@ struct ExtensionTypes SupportedExtensions; /* deprecated, please do not use */
#ifdef _WIN32 #ifdef _WIN32
HMODULE lib_gl_handle = NULL; HMODULE lib_gl_handle = NULL;
HMODULE lib_glu_handle = NULL; HMODULE lib_glu_handle = NULL;
#else #endif
#ifdef _X11
void * lib_gl_handle = NULL; void * lib_gl_handle = NULL;
void * lib_glu_handle = NULL; void * lib_glu_handle = NULL;
#endif #endif
@ -1368,7 +1354,9 @@ void *extgl_GetProcAddress(char *name)
} }
} }
return t; return t;
#else #endif
#ifdef _X11
void *t = (void*)glXGetProcAddressARB((const GLubyte*)name); void *t = (void*)glXGetProcAddressARB((const GLubyte*)name);
if (t == NULL) if (t == NULL)
{ {
@ -1562,7 +1550,7 @@ int QueryExtension(const GLubyte*extensions, const char *name)
return 0; return 0;
} }
#ifndef _WIN32 #ifdef _X11
/** returns true if the extention is available */ /** returns true if the extention is available */
int GLXQueryExtension(Display *disp, int screen, const char *name) int GLXQueryExtension(Display *disp, int screen, const char *name)
{ {
@ -2214,10 +2202,11 @@ void extgl_InitNVVertexArrayRange()
#ifdef _WIN32 #ifdef _WIN32
wglAllocateMemoryNV = (wglAllocateMemoryNVPROC) extgl_GetProcAddress("wglAllocateMemoryNV"); wglAllocateMemoryNV = (wglAllocateMemoryNVPROC) extgl_GetProcAddress("wglAllocateMemoryNV");
wglFreeMemoryNV = (wglFreeMemoryNVPROC) extgl_GetProcAddress("wglFreeMemoryNV"); wglFreeMemoryNV = (wglFreeMemoryNVPROC) extgl_GetProcAddress("wglFreeMemoryNV");
#else #endif /* WIN32 */
#ifdef _X11
glXAllocateMemoryNV = (glXAllocateMemoryNVPROC) extgl_GetProcAddress("glXAllocateMemoryNV"); glXAllocateMemoryNV = (glXAllocateMemoryNVPROC) extgl_GetProcAddress("glXAllocateMemoryNV");
glXFreeMemoryNV = (glXFreeMemoryNVPROC) extgl_GetProcAddress("glXFreeMemoryNV"); glXFreeMemoryNV = (glXFreeMemoryNVPROC) extgl_GetProcAddress("glXFreeMemoryNV");
#endif /* WIN32 */ #endif /* X11 */
#endif #endif
} }
@ -2415,7 +2404,7 @@ int extgl_InitEXTNurbsTesselator(void)
return 0; return 0;
} }
#ifndef _WIN32 #ifdef _X11
int extgl_InitGLX13(void) int extgl_InitGLX13(void)
{ {
if (extgl_Extensions.glx.GLX13 == 0) if (extgl_Extensions.glx.GLX13 == 0)
@ -2443,12 +2432,6 @@ int extgl_InitGLX13(void)
int extgl_InitGLX12(void) int extgl_InitGLX12(void)
{ {
/* glXGetContextIDEXT = (glXGetContextIDEXTPROC) extgl_GetProcAddress("glXGetContextIDEXT");
glXGetCurrentDrawableEXT = (glXGetCurrentDrawableEXTPROC) extgl_GetProcAddress("glXGetCurrentDrawableEXT");
glXImportContextEXT = (glXImportContextEXTPROC) extgl_GetProcAddress("glXImportContextEXT");
glXFreeContextEXT = (glXFreeContextEXTPROC) extgl_GetProcAddress("glXFreeContextEXT");
glXQueryContextInfoEXT = (glXQueryContextInfoEXTPROC) extgl_GetProcAddress("glXQueryContextInfoEXT");
*/
glXChooseVisual = (glXChooseVisualPROC) extgl_GetProcAddress("glXChooseVisual"); glXChooseVisual = (glXChooseVisualPROC) extgl_GetProcAddress("glXChooseVisual");
glXCopyContext = (glXCopyContextPROC) extgl_GetProcAddress("glXCopyContext"); glXCopyContext = (glXCopyContextPROC) extgl_GetProcAddress("glXCopyContext");
glXCreateContext = (glXCreateContextPROC) extgl_GetProcAddress("glXCreateContext"); glXCreateContext = (glXCreateContextPROC) extgl_GetProcAddress("glXCreateContext");
@ -2472,7 +2455,7 @@ int extgl_InitGLX12(void)
return extgl_error; return extgl_error;
} }
#ifndef _WIN32 #ifdef _X11
void extgl_InitGLXSupportedExtensions(Display *disp, int screen) void extgl_InitGLXSupportedExtensions(Display *disp, int screen)
{ {
extgl_Extensions.glx.EXT_visual_info = GLXQueryExtension(disp, screen, "GLX_EXT_visual_info"); extgl_Extensions.glx.EXT_visual_info = GLXQueryExtension(disp, screen, "GLX_EXT_visual_info");
@ -3220,7 +3203,7 @@ int extgl_Initialize()
return extgl_error; return extgl_error;
} }
#ifndef _WIN32 #ifdef _X11
int extgl_Open(Display *disp, int screen) int extgl_Open(Display *disp, int screen)
{ {
lib_gl_handle = dlopen("libGL.so.1", RTLD_LAZY | RTLD_GLOBAL); lib_gl_handle = dlopen("libGL.so.1", RTLD_LAZY | RTLD_GLOBAL);
@ -3234,7 +3217,9 @@ int extgl_Open(Display *disp, int screen)
return 1; return 1;
return 0; return 0;
} }
#else #endif
#ifdef _WIN32
int extgl_Open(void) int extgl_Open(void)
{ {
@ -3250,10 +3235,11 @@ int extgl_Open(void)
void extgl_Close(void) void extgl_Close(void)
{ {
#ifndef _WIN32 #ifdef _X11
dlclose(lib_glu_handle); dlclose(lib_glu_handle);
dlclose(lib_gl_handle); dlclose(lib_gl_handle);
#else #endif
#ifdef _WIN32
FreeLibrary(lib_gl_handle); FreeLibrary(lib_gl_handle);
FreeLibrary(lib_glu_handle); FreeLibrary(lib_glu_handle);
#endif #endif

View File

@ -169,59 +169,7 @@ WGL_NV_render_texture_rectangle
#if defined(_WIN32) && !defined(APIENTRY) #if defined(_WIN32) && !defined(APIENTRY)
#define WIN32_LEAN_AND_MEAN 1 #define WIN32_LEAN_AND_MEAN 1
#include <windows.h> #include <windows.h>
/*
typedef int BOOL;
typedef void *PVOID;
typedef float FLOAT;
typedef void VOID;
typedef unsigned int UINT;
typedef unsigned long DWORD;
typedef unsigned char BYTE;
typedef unsigned short WORD;
#ifdef STRICT
typedef void *HANDLE;
#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
#else
typedef PVOID HANDLE;
#define DECLARE_HANDLE(name) typedef HANDLE name
#endif
typedef HANDLE *PHANDLE;
DECLARE_HANDLE(HDC);
DECLARE_HANDLE(HGLRC);
DECLARE_HANDLE(HWND);
typedef struct tagPIXELFORMATDESCRIPTOR
{
WORD nSize;
WORD nVersion;
DWORD dwFlags;
BYTE iPixelType;
BYTE cColorBits;
BYTE cRedBits;
BYTE cRedShift;
BYTE cGreenBits;
BYTE cGreenShift;
BYTE cBlueBits;
BYTE cBlueShift;
BYTE cAlphaBits;
BYTE cAlphaShift;
BYTE cAccumBits;
BYTE cAccumRedBits;
BYTE cAccumGreenBits;
BYTE cAccumBlueBits;
BYTE cAccumAlphaBits;
BYTE cDepthBits;
BYTE cStencilBits;
BYTE cAuxBuffers;
BYTE iLayerType;
BYTE bReserved;
DWORD dwLayerMask;
DWORD dwVisibleMask;
DWORD dwDamageMask;
} PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR, FAR *LPPIXELFORMATDESCRIPTOR;
*/
#endif #endif
#define __glext_h_ #define __glext_h_
@ -265,14 +213,8 @@ typedef double GLdouble;
typedef double GLclampd; typedef double GLclampd;
typedef void GLvoid; typedef void GLvoid;
#ifndef _WIN32 #ifdef _X11
/*typedef void (* (APIENTRY * wglGetProcAddressPROC) (const GLubyte *procName))(void);
extern wglGetProcAddressPROC wglGetProcAddress;
#else
*/
#include <X11/Xutil.h> #include <X11/Xutil.h>
#include <GL/glxtokens.h> #include <GL/glxtokens.h>
@ -354,12 +296,6 @@ extern glXQueryContextPROC glXQueryContext;
extern glXSelectEventPROC glXSelectEvent; extern glXSelectEventPROC glXSelectEvent;
extern glXGetSelectedEventPROC glXGetSelectedEvent; extern glXGetSelectedEventPROC glXGetSelectedEvent;
/*extern glXGetContextIDEXTPROC glXGetContextIDEXT;
extern glXGetCurrentDrawableEXTPROC glXGetCurrentDrawableEXT;
extern glXImportContextEXTPROC glXImportContextEXT;
extern glXFreeContextEXTPROC glXFreeContextEXT;
extern glXQueryContextInfoEXTPROC glXQueryContextInfoEXT;
*/
extern glXGetProcAddressARBPROC glXGetProcAddressARB; extern glXGetProcAddressARBPROC glXGetProcAddressARB;
extern glXChooseVisualPROC glXChooseVisual; extern glXChooseVisualPROC glXChooseVisual;
@ -382,6 +318,7 @@ extern glXWaitXPROC glXWaitX;
extern glXGetClientStringPROC glXGetClientString; extern glXGetClientStringPROC glXGetClientString;
extern glXQueryServerStringPROC glXQueryServerString; extern glXQueryServerStringPROC glXQueryServerString;
extern glXQueryExtensionsStringPROC glXQueryExtensionsString; extern glXQueryExtensionsStringPROC glXQueryExtensionsString;
#endif #endif
/*************************************************************/ /*************************************************************/
@ -2349,20 +2286,6 @@ extern glSampleCoveragePROC glSampleCoverage;
#ifndef GL_VERSION_1_4 #ifndef GL_VERSION_1_4
#define GL_VERSION_1_4 #define GL_VERSION_1_4
/*#ifndef GL_VERSION_1_2
#define GL_BLEND_EQUATION 0x8009
#define GL_MIN 0x8007
#define GL_MAX 0x8008
#define GL_FUNC_ADD 0x8006
#define GL_FUNC_SUBTRACT 0x800A
#define GL_FUNC_REVERSE_SUBTRACT 0x800B
#define GL_BLEND_COLOR 0x8005
#define GL_CONSTANT_COLOR 0x8001
#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
#define GL_CONSTANT_ALPHA 0x8003
#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
#endif *//* GL_VERSION_1_2 */
#define GL_GENERATE_MIPMAP 0x8191 #define GL_GENERATE_MIPMAP 0x8191
#define GL_GENERATE_MIPMAP_HINT 0x8192 #define GL_GENERATE_MIPMAP_HINT 0x8192
#define GL_DEPTH_COMPONENT16 0x81A5 #define GL_DEPTH_COMPONENT16 0x81A5
@ -2403,10 +2326,6 @@ extern glSampleCoveragePROC glSampleCoverage;
#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD #define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
#define GL_GL_MIRRORED_REPEAT 0x8370 #define GL_GL_MIRRORED_REPEAT 0x8370
/*#ifndef GL_VERSION_1_2
typedef void (APIENTRY * glBlendEquationPROC) (GLenum mode );
typedef void (APIENTRY * glBlendColorPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
#endif *//* GL_VERSION_1_2 */
typedef void (APIENTRY * glFogCoordfPROC) (GLfloat coord); typedef void (APIENTRY * glFogCoordfPROC) (GLfloat coord);
typedef void (APIENTRY * glFogCoordfvPROC) (const GLfloat *coord); typedef void (APIENTRY * glFogCoordfvPROC) (const GLfloat *coord);
typedef void (APIENTRY * glFogCoorddPROC) (GLdouble coord); typedef void (APIENTRY * glFogCoorddPROC) (GLdouble coord);
@ -2451,11 +2370,6 @@ typedef void (APIENTRY * glWindowPos3fvPROC) (const GLfloat *p);
typedef void (APIENTRY * glWindowPos3ivPROC) (const GLint *p); typedef void (APIENTRY * glWindowPos3ivPROC) (const GLint *p);
typedef void (APIENTRY * glWindowPos3svPROC) (const GLshort *p); typedef void (APIENTRY * glWindowPos3svPROC) (const GLshort *p);
/*#ifndef GL_VERSION_1_2
extern glBlendColorPROC glBlendColor;
extern glBlendEquationPROC glBlendEquation;
#endif *//* GL_VERSION_1_2 */
extern glFogCoordfPROC glFogCoordf; extern glFogCoordfPROC glFogCoordf;
extern glFogCoordfvPROC glFogCoordfv; extern glFogCoordfvPROC glFogCoordfv;
extern glFogCoorddPROC glFogCoordd; extern glFogCoorddPROC glFogCoordd;
@ -2922,7 +2836,9 @@ typedef void (APIENTRY * wglFreeMemoryNVPROC) (void *pointer);
extern wglAllocateMemoryNVPROC wglAllocateMemoryNV; extern wglAllocateMemoryNVPROC wglAllocateMemoryNV;
extern wglFreeMemoryNVPROC wglFreeMemoryNV; extern wglFreeMemoryNVPROC wglFreeMemoryNV;
#else #endif /* WIN32 */
#ifdef _X11
typedef void * (APIENTRY * glXAllocateMemoryNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority); typedef void * (APIENTRY * glXAllocateMemoryNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
typedef void (APIENTRY * glXFreeMemoryNVPROC) (void *pointer); typedef void (APIENTRY * glXFreeMemoryNVPROC) (void *pointer);
@ -2930,7 +2846,7 @@ typedef void (APIENTRY * glXFreeMemoryNVPROC) (void *pointer);
extern glXAllocateMemoryNVPROC glXAllocateMemoryNV; extern glXAllocateMemoryNVPROC glXAllocateMemoryNV;
extern glXFreeMemoryNVPROC glXFreeMemoryNV; extern glXFreeMemoryNVPROC glXFreeMemoryNV;
#endif /* WIN32 */ #endif /* X11 */
#endif /* GL_NV_vertex_array_range */ #endif /* GL_NV_vertex_array_range */
@ -5541,7 +5457,9 @@ struct WGLExtensionTypes
int NV_render_texture_rectangle; int NV_render_texture_rectangle;
}; };
#else /* No WIN32 */ #endif /* WIN32 */
#ifdef _X11
struct GLXExtensionTypes struct GLXExtensionTypes
{ {
@ -5551,7 +5469,7 @@ struct GLXExtensionTypes
int EXT_visual_rating; int EXT_visual_rating;
}; };
#endif /* WIN32 */ #endif /* X11 */
struct GLUExtensionTypes struct GLUExtensionTypes
{ {
@ -5565,9 +5483,10 @@ struct ExtensionTypes
{ {
#ifdef _WIN32 /* WGL extensions */ #ifdef _WIN32 /* WGL extensions */
struct WGLExtensionTypes wgl; struct WGLExtensionTypes wgl;
#else /* no WIN32 */
struct GLXExtensionTypes glx;
#endif /* WIN32 */ #endif /* WIN32 */
#ifdef _X11
struct GLXExtensionTypes glx;
#endif /* X11 */
struct GLUExtensionTypes glu; struct GLUExtensionTypes glu;
int ARB_imaging; int ARB_imaging;
int ARB_depth_texture; int ARB_depth_texture;
@ -5663,11 +5582,14 @@ extern struct ExtensionTypes SupportedExtensions; /* deprecated, please do not u
/* initializes everything, call this right after the rc is created. the function returns 0 if successful */ /* initializes everything, call this right after the rc is created. the function returns 0 if successful */
int extgl_Initialize(); int extgl_Initialize();
#ifndef _WIN32 #ifdef _X11
int extgl_Open(Display *disp, int screen); int extgl_Open(Display *disp, int screen);
#else #endif
#ifdef _WIN32
int extgl_Open(void); int extgl_Open(void);
#endif #endif
void extgl_Close(void); void extgl_Close(void);
int glInitialize(); /* deprecated, please do not use */ int glInitialize(); /* deprecated, please do not use */