mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2024-12-23 13:51:30 +11:00
Remove some reliquate comment
This commit is contained in:
parent
2e41d25cb5
commit
758fd069c6
179
src/x11/mod.rs
179
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 );
|
||||
|
||||
*/
|
Loading…
Reference in a new issue