7 #if defined(_WIN32) || !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
8 int main (
int argc,
char** argv)
15 #if defined(_WIN32) || !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
22 fprintf(stderr,
"Usage: glewinfo [-pf <id>]\n");
24 fprintf(stderr,
"Usage: glewinfo [-display <display>] [-visual <id>]\n");
32 #elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX)
38 fprintf(stderr,
"Error: glewCreateContext failed\n");
47 #elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
61 f = fopen(
"glewinfo.txt",
"w");
66 fprintf(
f,
"---------------------------\n");
67 fprintf(
f,
" GLEW Extension Info\n");
68 fprintf(
f,
"---------------------------\n\n");
71 fprintf(
f,
"Reporting capabilities of pixelformat %d\n", visual);
72 #elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
73 fprintf(
f,
"Reporting capabilities of display %s, visual 0x%x\n",
74 display ==
NULL ? getenv(
"DISPLAY") : display, visual);
76 fprintf(
f,
"Running on a %s from %s\n",
85 if (
f != stdout) fclose(
f);
92 #if defined(_WIN32) || !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
99 if (!strcmp(argv[p],
"-pf") || !strcmp(argv[p],
"-pixelformat"))
101 if (++p >= argc)
return GL_TRUE;
103 *visual = strtol(argv[p++],
NULL, 0);
108 if (!strcmp(argv[p],
"-display"))
110 if (++p >= argc)
return GL_TRUE;
111 *display = argv[p++];
113 else if (!strcmp(argv[p],
"-visual"))
115 if (++p >= argc)
return GL_TRUE;
116 *visual = (
int)strtol(argv[p++],
NULL, 0);
137 PIXELFORMATDESCRIPTOR pfd;
139 ZeroMemory(&wc,
sizeof(WNDCLASS));
140 wc.hInstance = GetModuleHandle(
NULL);
141 wc.lpfnWndProc = DefWindowProc;
142 wc.lpszClassName =
"GLEW";
143 if (0 == RegisterClass(&wc))
return GL_TRUE;
145 wnd = CreateWindow(
"GLEW",
"GLEW", 0, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
152 ZeroMemory(&pfd,
sizeof(PIXELFORMATDESCRIPTOR));
153 if (*pixelformat == -1)
155 pfd.nSize =
sizeof(PIXELFORMATDESCRIPTOR);
157 pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL;
158 *pixelformat = ChoosePixelFormat(dc, &pfd);
159 if (*pixelformat == 0)
return GL_TRUE;
162 if (
FALSE == SetPixelFormat(dc, *pixelformat, &pfd))
return GL_TRUE;
164 rc = wglCreateContext(dc);
173 if (
NULL != rc) wglDeleteContext(rc);
174 if (
NULL != wnd &&
NULL != dc) ReleaseDC(wnd, dc);
175 if (
NULL != wnd) DestroyWindow(wnd);
176 UnregisterClass(
"GLEW", GetModuleHandle(
NULL));
181 #elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX)
185 AGLContext
ctx, octx;
189 int attrib[] = { AGL_RGBA, AGL_NONE };
195 pf = aglChoosePixelFormat(
NULL, 0, attrib);
197 ctx = aglCreateContext(pf,
NULL);
198 if (
NULL == ctx || AGL_NO_ERROR != aglGetError())
return GL_TRUE;
199 aglDestroyPixelFormat(pf);
201 octx = aglGetCurrentContext();
204 #if defined(GLEW_REGAL) && defined(__APPLE__)
205 RegalMakeCurrent(octx);
212 aglSetCurrentContext(octx);
213 if (
NULL != ctx) aglDestroyContext(ctx);
231 XSetWindowAttributes swa;
242 *visual = (
int)XVisualIDFromVisual(vi->visual);
247 vis = XGetVisualInfo(dpy, 0,
NULL, &n_vis);
248 for (i=0; i<n_vis; i++)
250 if ((
int)XVisualIDFromVisual(vis[i].visual) == *visual)
260 cmap = XCreateColormap(dpy, RootWindow(dpy, vi->screen), vi->visual, AllocNone);
261 swa.border_pixel = 0;
263 wnd = XCreateWindow(dpy, RootWindow(dpy, vi->screen),
264 0, 0, 1, 1, 0, vi->depth, InputOutput, vi->visual,
265 CWBorderPixel | CWColormap, &swa);
275 if (
NULL != dpy && 0 != cmap) XFreeColormap(dpy, cmap);
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer retur XCloseDisplay)
int main(int argc, char **argv)
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int int int return Display Window Cursor return Display Window return Display Drawable GC int int unsigned int unsigned int return Display Drawable GC int int _Xconst char int return Display Drawable GC int int unsigned int unsigned int return Display return Display Cursor return Display GC return XModifierKeymap return char Display Window int return Display return Display Atom return Display Window XWindowAttributes return Display Window return Display XEvent Bool(*) XPointer return Display Window Bool unsigned int int int Window Cursor Time return Display Window int return KeySym return Display _Xconst char Bool return Display _Xconst char return XKeyEvent char int KeySym XComposeStatus return Display int int int XVisualInfo return Display Window int int retur XOpenDisplay)
struct __GLXcontextRec * GLXContext
GLboolean glewExperimental
#define glXQueryExtension
GLenum GLEWAPIENTRY wglewContextInit(WGLEW_CONTEXT_ARG_DEF_LIST)
void glewDestroyContext()
static GLenum GLEWAPIENTRY glewContextInit(GLEW_CONTEXT_ARG_DEF_LIST)
static void glewInfo(void)
typedef HDC(WINAPI *PFNWGLGETCURRENTREADDCARBPROC)(VOID)
GLenum glxewContextInit(GLXEW_CONTEXT_ARG_DEF_LIST)
typedef HGLRC(WINAPI *PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC)(UINT id)
#define glXDestroyContext
const GLubyte *GLEWAPIENTRY glewGetErrorString(GLenum error)
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int int int return Display Window Cursor retur XDestroyWindow)
GLboolean glewCreateContext(const char *display, int *visual)
GLboolean glewParseArgs(int argc, char **argv, char **display, int *visual)
const GLubyte *GLEWAPIENTRY glewGetString(GLenum name)
GLenum GLEWAPIENTRY glewInit(void)