summaryrefslogtreecommitdiff
path: root/progs/samples/oglinfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'progs/samples/oglinfo.c')
-rw-r--r--progs/samples/oglinfo.c218
1 files changed, 0 insertions, 218 deletions
diff --git a/progs/samples/oglinfo.c b/progs/samples/oglinfo.c
deleted file mode 100644
index 4fe51efb3c..0000000000
--- a/progs/samples/oglinfo.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/* oglinfo.c */
-
-/* This demo modified by BrianP to accomodate Mesa and test
- * the GLX 1.1 functions.
- */
-
-
-
-#include <GL/gl.h>
-#include <GL/glx.h>
-#include <GL/glu.h>
-#include <stdio.h>
-#include <string.h>
-
-int visual_request0[] = { None }; /* don't need much of a visual */
-int visual_request1[] = { GLX_RGBA, None }; /* in case CI failed */
-
-int main(int argc, char **argv)
-{
- char *display_name = NULL;
- char *string;
- Display *dpy;
- int screen_num;
- int major, minor;
- XVisualInfo *vis;
- GLXContext ctx;
- Window root, win;
- Colormap cmap;
- XSetWindowAttributes swa;
- int dontcare;
-
- /* parse arguments */
- if(argc > 1) {
- if(!strcmp(argv[1],"-display"))
- display_name = argv[2];
- else {
- fprintf(stderr, "Usage: %s [-display <display>]\n",argv[0]);
- return 0;
- }
- }
-
- /* get display */
- if (!(dpy = XOpenDisplay(display_name))) {
- fprintf(stderr,"Error: XOpenDisplay() failed.\n");
- return 1;
- }
-
- /* does the server know about OpenGL & GLX? */
-#ifndef MESA
- if(!XQueryExtension(dpy, "GLX", &dontcare, &dontcare, &dontcare)) {
- fprintf(stderr,"This system doesn't appear to support OpenGL\n");
- return 1;
- }
-#else
- (void) dontcare;
-#endif
-
- /* find the glx version */
- if(glXQueryVersion(dpy, &major, &minor))
- printf("GLX Version: %d.%d\n", major, minor);
- else {
- fprintf(stderr, "Error: glXQueryVersion() failed.\n");
- return 1;
- }
-
- /* get screen number */
- screen_num = DefaultScreen(dpy);
-
-/* This #ifdef isn't redundant. It keeps the build from breaking
-** if you are building on a machine that has an old (1.0) version
-** of glx.
-**
-** This program could still be *run* on a machine that has an old
-** version of glx, even if it was *compiled* on a version that has
-** a new version.
-**
-** If compiled on a system with an old version of glx, then it will
-** never recognize glx extensions, since that code would have been
-** #ifdef'ed out.
-*/
-#ifdef GLX_VERSION_1_1
-
- /*
- ** This test guarantees that glx, on the display you are inquiring,
- ** suppports glXQueryExtensionsString().
- */
- if(minor > 0 || major > 1)
- string = (char *) glXQueryExtensionsString(dpy, screen_num);
- else
- string = "";
-
- if(string)
- printf("GLX Extensions (client & server): %s\n",
- string);
- else {
- fprintf(stderr, "Error: glXQueryExtensionsString() failed.\n");
- return 1;
- }
-
- if (minor>0 || major>1) {
- printf("glXGetClientString(GLX_VENDOR): %s\n", glXGetClientString(dpy,GLX_VENDOR));
- printf("glXGetClientString(GLX_VERSION): %s\n", glXGetClientString(dpy,GLX_VERSION));
- printf("glXGetClientString(GLX_EXTENSIONS): %s\n", glXGetClientString(dpy,GLX_EXTENSIONS));
- printf("glXQueryServerString(GLX_VENDOR): %s\n", glXQueryServerString(dpy,screen_num,GLX_VENDOR));
- printf("glXQueryServerString(GLX_VERSION): %s\n", glXQueryServerString(dpy,screen_num,GLX_VERSION));
- printf("glXQueryServerString(GLX_EXTENSIONS): %s\n", glXQueryServerString(dpy,screen_num,GLX_EXTENSIONS));
- }
-
-
-#endif
-
- /* get any valid OpenGL visual */
- if (!(vis = glXChooseVisual(dpy, screen_num, visual_request0))) {
- if (!(vis = glXChooseVisual(dpy, screen_num, visual_request1))) {
- fprintf(stderr,"Error: glXChooseVisual() failed.\n");
- return 1;
- }
- }
-
- /* get context */
- ctx = glXCreateContext(dpy,vis,0,GL_TRUE);
-
- /* root window */
- root = RootWindow(dpy,vis->screen);
-
- /* get RGBA colormap */
- cmap = XCreateColormap(dpy, root, vis->visual, AllocNone);
-
- /* get window */
- swa.colormap = cmap;
- swa.border_pixel = 0;
- swa.event_mask = StructureNotifyMask;
- win = XCreateWindow(dpy, root, 0, 0, 1, 1, 0, vis->depth,
- InputOutput,vis->visual,
- CWBorderPixel|CWColormap|CWEventMask,
- &swa);
-
- glXMakeCurrent(dpy,win,ctx);
-
- string = (char *) glGetString(GL_VERSION);
- if(string)
-#ifdef MESA
- printf("Mesa Version: %s\n", string);
-#else
- printf("OpenGL Version: %s\n", string);
-#endif
- else {
- fprintf(stderr, "Error: glGetString(GL_VERSION) failed.\n");
- return 1;
- }
-
- string = (char *) glGetString(GL_EXTENSIONS);
-
- if(string)
-#ifdef MESA
- printf("Mesa Extensions: %s\n", string);
-#else
- printf("OpenGL Extensions: %s\n", string);
-#endif
- else {
- fprintf(stderr, "Error: glGetString(GL_EXTENSIONS) failed.\n");
- return 1;
- }
-
- string = (char *) glGetString(GL_RENDERER);
-
- if(string)
-#ifdef MESA
- printf("Mesa Renderer: %s\n", string);
-#else
- printf("OpenGL renderer: %s\n", string);
-#endif
- else {
- fprintf(stderr, "Error: glGetString(GL_RENDERER) failed.\n");
- return 1;
- }
-
-/*
-** This #ifdef prevents a build failure if you compile on an a
-** machine with an old GLU library.
-**
-** If you build on a pre GLU 1.1 machine, you will never be able
-** to get glu info, even if you run on a GLU 1.1 or latter machine,
-** since the code has been #ifdef'ed out.
-*/
-#ifdef GLU_VERSION_1_1
-
- /*
- ** If the glx version is 1.1 or latter, gluGetString() is guaranteed
- ** to exist.
- */
- if(minor > 0 || major > 1)
- string = (char *) gluGetString(GLU_VERSION);
- else
- string = "1.0";
-
- if(string)
- printf("GLU Version: %s\n", string);
- else {
- fprintf(stderr, "Error: gluGetString(GLU_VERSION) failed.\n");
- return 1;
- }
-
- if(minor > 0 || major > 1)
- string = (char *) gluGetString(GLU_EXTENSIONS);
- else
- string = "";
-
- if(string)
- printf("GLU Extensions: %s\n", string);
- else {
- fprintf(stderr, "Error: gluGetString(GLU_EXTENSIONS) failed.\n");
- return 1;
- }
-
-#endif
- return 0;
-}