Using XMMS 1.2.5 and the plugin OpenGL Spectrum Analyzer 1.2.5 that comes with it
gives errors on both X11 4.1.0 w/ DRI + tdfx driver and NVidia OGL driver. The errors
are of type:
1) Seg. Fault and Xlib: unexpected async reply (sequence 0x1728)!
2) Gdk-ERROR **: BadValue (integer parameter out of range for operation) serial 45
error_code 2 request_code 147 minor_code 13
This happens when through the Vizualization menu enable/disable the plugin (especially
if you do it really fast)
Looking at the code for hours only revealed a missing XFree() [ in the create_window()
code ]. But that didn't fix the errors.
The following lines are suspicious though:
if (window)
{
if (grabbed_pointer)
{
XUngrabPointer(dpy, CurrentTime);
grabbed_pointer = FALSE;
}
XDestroyWindow(dpy, window);
window = 0;
}
if (glxcontext)
{
glXMakeCurrent(dpy, 0, NULL);
glXDestroyContext(dpy, glxcontext);
glxcontext = NULL;
}
Note that the order of glXDestroyContext and XDestoryWindow as above. Once I reversed
the above two if(dpy) and if(glxcontext) statements the problems went away. It does
not seg. fault or crash XMMS.
Does this mean:
1) it was OKAY initially (as shown above) and the GL drivers have a problem when the
window is killed before the context (driver should be able to handle this)
or
2) the above code is NOT OKAY. You should never kill the window before you have killed
the context
Please tell us the right way of doing things, unless you have any more ideas on why
the plugin is crashing xmms...
PS. does glXDestroyContext do a glFlush() or waits for buffers to empty or hardware to
be quiescent (sp?) or does it just return immediately? The docs say about it being
active in the current thread, but does that include the GL drivers?
Thanks
More info:
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
client glx vendor string: SGI
client glx version string: 1.2
client glx extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
GLX extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
OpenGL vendor string: VA Linux Systems, Inc.
OpenGL renderer string: Mesa DRI Voodoo4 20010501 x86/MMX
OpenGL version string: 1.2 Mesa 3.4.2
OpenGL extensions:
GL_ARB_multitexture, GL_ARB_transpose_matrix, GL_EXT_abgr,
GL_EXT_clip_volume_hint, GL_EXT_compiled_vertex_array, GL_EXT_histogram,
GL_EXT_packed_pixels, GL_EXT_paletted_texture, GL_EXT_polygon_offset,
GL_EXT_rescale_normal, GL_EXT_stencil_wrap, GL_EXT_texture3D,
GL_EXT_texture_env_add, GL_EXT_texture_env_combine, GL_EXT_texture_object,
GL_EXT_texture_lod_bias, GL_EXT_vertex_array, GL_HP_occlusion_test,
GL_MESA_window_pos, GL_MESA_resize_buffers, GL_NV_texgen_reflection,
GL_PGI_misc_hints, GL_SGI_color_matrix, GL_SGI_color_table,
GL_SGIS_pixel_texture, GL_SGIS_texture_edge_clamp, GL_SGIX_pixel_texture
glu version: 1.3
glu extensions:
GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess
--
Get your free email from www.linuxmail.org
Powered by Outblaze
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel