From: Carlos P. <jos...@is...> - 2010-03-24 19:50:35
|
Hi, I apologize, these are essentialy GLX and X questions, not Mesa, I just don't know where else to ask this... I am trying to use only <GL/glx.h> to write a GTK/OpenGL app. It is working fine, though I still have some few questions, mainly regarding memory leaks: 1) The sintax for this list of attributes is correct? Shall I improve it somehow? it works for me... int attributes[] = { GLX_RGBA, GLX_RED_SIZE, 1, GLX_GREEN_SIZE, 1, GLX_BLUE_SIZE, 1, GLX_DOUBLEBUFFER, True, GLX_DEPTH_SIZE, 12, None }; XVisualInfo *visual_info; visual_info = glXChooseVisual (display, screen, attributes); 2) free visual_info immediately after creating the context, when it is no longer needed? it works for me... XVisualInfo *visual_info; visual_info = glXChooseVisual (display, screen, attributes); ... context = glXCreateContext (display, visual_info, NULL, TRUE); XFree (visual_info); <<<<<<<<<< 3) free context and colormap when the GL window is removed? it works for me... colormap = XCreateColormap (display, root, visual_info->visual, AllocNone); context = glXCreateContext (display, visual_info, NULL, TRUE); ... glXDestroyContext (display, context); <<<<<<<< XFreeColormap (display, colormap); <<<<<<<<<< 3) Shall I free visual_info->visual in the end, when closing the app? I am not sure... I suppose the answer is no? XVisualInfo *visual_info; Thank you very much for your help... (I posted two fully working examples, one using GLX, the other GTKGLExt, at: http://www.gamgi.org/gtk_opengl.tar.gz). Carlos |
From: tom f. <tf...@al...> - 2010-03-26 20:05:24
|
Hi, Carlos Pereira <jos...@is...> writes: > I apologize, these are essentialy GLX and X questions, not Mesa, I > just don't know where else to ask this... I am trying to use only > <GL/glx.h> to write a GTK/OpenGL app. It is working fine, though I > still have some few questions, mainly regarding memory leaks: I admit I don't know all the answers here, and as you say, I'm not sure this the best forum. The Xorg list is probably a good place for this though: http://lists.freedesktop.org/mailman/listinfo/xorg > 1) The sintax for this list of attributes is correct? Shall I improve it > somehow? it works for me... > > int attributes[] = { GLX_RGBA, GLX_RED_SIZE, 1, GLX_GREEN_SIZE, 1, > GLX_BLUE_SIZE, 1, GLX_DOUBLEBUFFER, True, GLX_DEPTH_SIZE, 12, None }; > XVisualInfo *visual_info; > visual_info = glXChooseVisual (display, screen, attributes); well, if it compiles, the syntax is correct ;P I'm not sure the semantics are correct, but I'm not sure what your application actually wants. I'll note that glXChooseVisual is allowed to give you 3 bits for all color given the above specification, and I'd bet you design your app to use more color. > 2) free visual_info immediately after creating the context, [. . .] > 3) free context and colormap when the GL window is removed? it works > for me... > 3) Shall I free visual_info->visual in the end, when closing the app? > [. . .] This is where my knowledge ends. Please CC me if you start an Xorg thread :) -tom |
From: Carlos P. <jos...@is...> - 2010-03-28 03:40:51
|
Thanks Tom, I will folow your suggestion to ask for help at Xorg (and CC you), I mentioned sintax because I have seen this attributes lists written in the internet in slightly different ways, with and without True after GLX_DOUBLEBUFFER, (perhaps older versions did not explicitly require True?) You are right 1, 1, 1 color bits are not common these days... :-) I red somewhere these were absolute minimum requirements for a OpenGL visual (like 12 for depth), anyway, better to replace by 8, 8, 8... Thanks, Carlos > Hi, > > Carlos Pereira <jos...@is...> writes: > > >> I apologize, these are essentialy GLX and X questions, not Mesa, I >> just don't know where else to ask this... I am trying to use only >> <GL/glx.h> to write a GTK/OpenGL app. It is working fine, though I >> still have some few questions, mainly regarding memory leaks: >> > > I admit I don't know all the answers here, and as you say, I'm not sure > this the best forum. The Xorg list is probably a good place for this > though: > > http://lists.freedesktop.org/mailman/listinfo/xorg > > >> 1) The sintax for this list of attributes is correct? Shall I improve it >> somehow? it works for me... >> >> int attributes[] = { GLX_RGBA, GLX_RED_SIZE, 1, GLX_GREEN_SIZE, 1, >> GLX_BLUE_SIZE, 1, GLX_DOUBLEBUFFER, True, GLX_DEPTH_SIZE, 12, None }; >> XVisualInfo *visual_info; >> visual_info = glXChooseVisual (display, screen, attributes); >> > > well, if it compiles, the syntax is correct ;P > > I'm not sure the semantics are correct, but I'm not sure what your > application actually wants. I'll note that glXChooseVisual is allowed > to give you 3 bits for all color given the above specification, and I'd > bet you design your app to use more color. > > >> 2) free visual_info immediately after creating the context, [. . .] >> 3) free context and colormap when the GL window is removed? it works >> for me... >> 3) Shall I free visual_info->visual in the end, when closing the app? >> [. . .] >> > > This is where my knowledge ends. Please CC me if you start an Xorg > thread :) > > -tom > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Mesa3d-users mailing list > Mes...@li... > https://lists.sourceforge.net/lists/listinfo/mesa3d-users > > |