aboutsummaryrefslogtreecommitdiffstats
path: root/src/x11
diff options
context:
space:
mode:
Diffstat (limited to 'src/x11')
-rw-r--r--src/x11/mod.rs179
1 files changed, 0 insertions, 179 deletions
diff --git a/src/x11/mod.rs b/src/x11/mod.rs
index 3478d8c..857ee92 100644
--- a/src/x11/mod.rs
+++ b/src/x11/mod.rs
@@ -197,182 +197,3 @@ impl Drop for Window {
unsafe { ffi::XCloseDisplay(self.display) }
}
}
-
-
-
-/*
- printf( "Getting matching framebuffer configs\n" );
- int fbcount;
- GLXFBConfig* fbc = glXChooseFBConfig(display, DefaultScreen(display), visual_attribs, &fbcount);
- if (!fbc)
- {
- printf( "Failed to retrieve a framebuffer config\n" );
- exit(1);
- }
- printf( "Found %d matching FB configs.\n", fbcount );
-
- // Pick the FB config/visual with the most samples per pixel
- printf( "Getting XVisualInfos\n" );
- int best_fbc = -1, worst_fbc = -1, best_num_samp = -1, worst_num_samp = 999;
-
- int i;
- for (i=0; i<fbcount; ++i)
- {
- XVisualInfo *vi = glXGetVisualFromFBConfig( display, fbc[i] );
- if ( vi )
- {
- int samp_buf, samples;
- glXGetFBConfigAttrib( display, fbc[i], GLX_SAMPLE_BUFFERS, &samp_buf );
- glXGetFBConfigAttrib( display, fbc[i], GLX_SAMPLES , &samples );
-
- printf( " Matching fbconfig %d, visual ID 0x%2x: SAMPLE_BUFFERS = %d,"
- " SAMPLES = %d\n",
- i, vi -> visualid, samp_buf, samples );
-
- if ( best_fbc < 0 || samp_buf && samples > best_num_samp )
- best_fbc = i, best_num_samp = samples;
- if ( worst_fbc < 0 || !samp_buf || samples < worst_num_samp )
- worst_fbc = i, worst_num_samp = samples;
- }
- XFree( vi );
- }
-
- GLXFBConfig bestFbc = fbc[ best_fbc ];
-
- // Be sure to free the FBConfig list allocated by glXChooseFBConfig()
- XFree( fbc );
-
- // Get a visual
- XVisualInfo *vi = glXGetVisualFromFBConfig( display, bestFbc );
- printf( "Chosen visual ID = 0x%x\n", vi->visualid );
-
- printf( "Creating colormap\n" );
- XSetWindowAttributes swa;
- Colormap cmap;
- swa.colormap = cmap = XCreateColormap( display,
- RootWindow( display, vi->screen ),
- vi->visual, AllocNone );
- swa.background_pixmap = None ;
- swa.border_pixel = 0;
- swa.event_mask = StructureNotifyMask;
-
- printf( "Creating window\n" );
- Window win = XCreateWindow( display, RootWindow( display, vi->screen ),
- 0, 0, 100, 100, 0, vi->depth, InputOutput,
- vi->visual,
- CWBorderPixel|CWColormap|CWEventMask, &swa );
- if ( !win )
- {
- printf( "Failed to create window.\n" );
- exit(1);
- }
-
- // Done with the visual info data
- XFree( vi );
-
- XStoreName( display, win, "GL 3.0 Window" );
-
- printf( "Mapping window\n" );
- XMapWindow( display, win );
-
- // Get the default screen's GLX extension list
- const char *glxExts = glXQueryExtensionsString( display,
- DefaultScreen( display ) );
-
- // NOTE: It is not necessary to create or make current to a context before
- // calling glXGetProcAddressARB
- glXCreateContextAttribsARBProc glXCreateContextAttribsARB = 0;
- glXCreateContextAttribsARB = (glXCreateContextAttribsARBProc)
- glXGetProcAddressARB( (const GLubyte *) "glXCreateContextAttribsARB" );
-
- GLXContext ctx = 0;
-
- // Install an X error handler so the application won't exit if GL 3.0
- // context allocation fails.
- //
- // Note this error handler is global. All display connections in all threads
- // of a process use the same error handler, so be sure to guard against other
- // threads issuing X commands while this code is running.
- ctxErrorOccurred = false;
- int (*oldHandler)(Display*, XErrorEvent*) =
- XSetErrorHandler(&ctxErrorHandler);
-
- // Check for the GLX_ARB_create_context extension string and the function.
- // If either is not present, use GLX 1.3 context creation method.
- if ( !isExtensionSupported( glxExts, "GLX_ARB_create_context" ) ||
- !glXCreateContextAttribsARB )
- {
- printf( "glXCreateContextAttribsARB() not found"
- " ... using old-style GLX context\n" );
- ctx = glXCreateNewContext( display, bestFbc, GLX_RGBA_TYPE, 0, True );
- }
-
- // If it does, try to get a GL 3.0 context!
- else
- {
- int context_attribs[] =
- {
- GLX_CONTEXT_MAJOR_VERSION_ARB, 3,
- GLX_CONTEXT_MINOR_VERSION_ARB, 0,
- //GLX_CONTEXT_FLAGS_ARB , GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB,
- None
- };
-
- printf( "Creating context\n" );
- ctx = glXCreateContextAttribsARB( display, bestFbc, 0,
- True, context_attribs );
-
- // Sync to ensure any errors generated are processed.
- XSync( display, False );
- if ( !ctxErrorOccurred && ctx )
- printf( "Created GL 3.0 context\n" );
- else
- {
- // Couldn't create GL 3.0 context. Fall back to old-style 2.x context.
- // When a context version below 3.0 is requested, implementations will
- // return the newest context version compatible with OpenGL versions less
- // than version 3.0.
- // GLX_CONTEXT_MAJOR_VERSION_ARB = 1
- context_attribs[1] = 1;
- // GLX_CONTEXT_MINOR_VERSION_ARB = 0
- context_attribs[3] = 0;
-
- ctxErrorOccurred = false;
-
- printf( "Failed to create GL 3.0 context"
- " ... using old-style GLX context\n" );
- ctx = glXCreateContextAttribsARB( display, bestFbc, 0,
- True, context_attribs );
- }
- }
-
- // Sync to ensure any errors generated are processed.
- XSync( display, False );
-
- // Restore the original error handler
- XSetErrorHandler( oldHandler );
-
- if ( ctxErrorOccurred || !ctx )
- {
- printf( "Failed to create an OpenGL context\n" );
- exit(1);
- }
-
- // Verifying that context is a direct context
- if ( ! glXIsDirect ( display, ctx ) )
- {
- printf( "Indirect GLX rendering context obtained\n" );
- }
- else
- {
- printf( "Direct GLX rendering context obtained\n" );
- }
-
- printf( "Making context current\n" );
- glXMakeCurrent( display, win, ctx );
-
- glClearColor( 0, 0.5, 1, 1 );
- glClear( GL_COLOR_BUFFER_BIT );
- glXSwapBuffers ( display, win );
-
-*/ \ No newline at end of file