diff options
Diffstat (limited to 'samples/OpenGL/x11argb_opengl/x11argb_opengl.c')
-rw-r--r-- | samples/OpenGL/x11argb_opengl/x11argb_opengl.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/samples/OpenGL/x11argb_opengl/x11argb_opengl.c b/samples/OpenGL/x11argb_opengl/x11argb_opengl.c index 092c202..fb1b54c 100644 --- a/samples/OpenGL/x11argb_opengl/x11argb_opengl.c +++ b/samples/OpenGL/x11argb_opengl/x11argb_opengl.c @@ -160,6 +160,7 @@ static void createTheWindow() if(pict_format->direct.alphaMask > 0) { break; } + XFree(visual); } if(!fbconfig) { @@ -210,6 +211,7 @@ static void createTheWindow() } #if USE_GLX_CREATE_WINDOW + fputs("glXCreateWindow ", stderr); int glXattr[] = { None }; glX_window_handle = glXCreateWindow(Xdisplay, fbconfig, window_handle, glXattr); if( !glX_window_handle ) { @@ -252,7 +254,7 @@ static void createTheWindow() static int ctxErrorHandler( Display *dpy, XErrorEvent *ev ) { - fputs("Error at context creation", stderr); + fputs("Error at context creation\n", stderr); return 0; } @@ -269,12 +271,12 @@ static void createTheRenderContext() render_context = NULL; if( isExtensionSupported( glXQueryExtensionsString(Xdisplay, DefaultScreen(Xdisplay)), "GLX_ARB_create_context" ) ) { typedef GLXContext (*glXCreateContextAttribsARBProc)(Display*, GLXFBConfig, GLXContext, Bool, const int*); - glXCreateContextAttribsARBProc glXCreateContextAttribsARB = (glXCreateContextAttribsARBProc)glXGetProcAddressARB( (const GLubyte *) "glXCreateContextAttribsARB" ); + glXCreateContextAttribsARBProc glXCreateContextAttribsARB = (glXCreateContextAttribsARBProc)glXGetProcAddressARB("glXCreateContextAttribsARB" ); if( glXCreateContextAttribsARB ) { int context_attribs[] = { - GLX_CONTEXT_MAJOR_VERSION_ARB, 3, - GLX_CONTEXT_MINOR_VERSION_ARB, 0, + GLX_CONTEXT_MAJOR_VERSION_ARB, 2, + GLX_CONTEXT_MINOR_VERSION_ARB, 1, //GLX_CONTEXT_FLAGS_ARB , GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB, None }; @@ -285,17 +287,16 @@ static void createTheRenderContext() XSync( Xdisplay, False ); XSetErrorHandler( oldHandler ); - - fputs("glXCreateContextAttribsARB failed", stderr); } else { - fputs("glXCreateContextAttribsARB could not be retrieved", stderr); + fputs("glXCreateContextAttribsARB could not be retrieved\n", stderr); } } else { - fputs("glXCreateContextAttribsARB not supported", stderr); + fputs("glXCreateContextAttribsARB not supported\n", stderr); } if(!render_context) { + fputs("using fallback\n", stderr); #else { #endif @@ -471,7 +472,7 @@ static void redrawTheWindow() glXSwapBuffers(Xdisplay, glX_window_handle); clock_gettime(CLOCK_MONOTONIC_RAW, &Tb); - fprintf(stderr, "glXSwapBuffers returned after %f ms\n", 1e3*((double)Tb.tv_sec + 1e-6*(double)Tb.tv_nsec) - 1e3*((double)Ta.tv_sec + 1e-6*(double)Ta.tv_nsec)); + // fprintf(stderr, "glXSwapBuffers returned after %f ms\n", 1e3*((double)Tb.tv_sec + 1e-6*(double)Tb.tv_nsec) - 1e3*((double)Ta.tv_sec + 1e-6*(double)Ta.tv_nsec)); } int main(int argc, char *argv[]) |