Ticket #340 (reopened usability)

Opened 8 months ago

Last modified 5 months ago

AIGLX: glXChooseVisual gives a GL_STEREO visual when none is supported

Reported by: wealthychef@… Owned by: jeremyhu@…
Priority: Important Milestone: later
Component: GLX Version: 2.4.0 (xserver-1.5)
Keywords: stereo glXChooseVisual Cc: wealthychef@…

Description

Hello, I have traced a bug in VMD from  http://www.ks.uiuc.edu/Research/vmd/ to what we believe is a bug in X11. I am using XQuartz 2.4.0 (xorg-server 1.5.3-apple14). In the code below, glXChooseVisual() returns a valid visual, but the card I'm using is a not a stereo card. It's a GeForce 7300 GT. glxinfo does not report GLX_STEREO extension. Can you comment on what is going on? Is this an XQuartz bug?

int conf[] = {GLX_DOUBLEBUFFER, GLX_RGBA, GLX_DEPTH_SIZE, 16, GLX_STEREO,

GLX_STENCIL_SIZE, 1, GLX_RED_SIZE, 8, GLX_GREEN_SIZE, 8, GLX_BLUE_SIZE, 8, None};

vi = glXChooseVisual(glxsrv->dpy, glxsrv->dpyScreen, conf);

Change History

Changed 8 months ago by jeremyhu@…

  • status changed from new to closed
  • version set to 2.4.0 (xserver-1.5)
  • resolution set to invalid
  • milestone set to OpenGL.framework DRI

I think that card is capable of stereo (even if you don't have the extra hardware for it).

I'll look into this when my queue shrinks a tad.

Changed 8 months ago by jeremyhu@…

  • status changed from closed to reopened
  • resolution invalid deleted

Changed 8 months ago by wealthychef@…

  • cc wealthychef@… added

Cc Me!

Changed 7 months ago by wealthychef@…

Thanks for checking. I made an error. This does not occur on my desktop, it only occurs on certain other macs. Perhaps as you point out my card actually is stereo enabled. Here is what the vendor told me, John Stone from VMD about the behavior on the affected machines:

"What is going on here is that one of the calls to glXChooseVisual() that requests a stereoscopic window (the GLX_STEREO parameter), is succeeding in getting a stereoscopic window even though it apparently should not. So far as I know, no Macs with ATI Radeon 9600 graphics chipsets are able to do stereo, so this combined with the observed behavior your users are getting is why I believe it to be an error in their (XOrg) GLX implementation."

Here is the code where GLX gives a bad visual:

int conf[] = {GLX_DOUBLEBUFFER, GLX_RGBA, GLX_DEPTH_SIZE, dsize,

GLX_STEREO, GLX_STENCIL_SIZE, 1, GLX_RED_SIZE, 8, GLX_GREEN_SIZE, 8, GLX_BLUE_SIZE, 8, None};

vi = glXChooseVisual(glxsrv->dpy, glxsrv->dpyScreen, conf);

============================================================== Herre is the glxinfo and xdpyinfo and uname from a machine where the problem recurs. Tunneling through ssh is enabled here, but disabling it has no effect on the problem.

============================================================ glxinfo (truncated for space) name of display: zeus287:79.0 display: zeus287:79 screen: 0 direct rendering: No server glx vendor string: SGI server glx version string: 1.2 server glx extensions:

GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGIX_fbconfig, GLX_MESA_copy_sub_buffer

client glx vendor string: NVIDIA Corporation client glx version string: 1.4 client glx extensions:

GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_SGI_video_sync, GLX_NV_swap_group, GLX_NV_video_out, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_swap_control, GLX_NV_float_buffer, GLX_ARB_fbconfig_float, GLX_EXT_fbconfig_packed_float, GLX_EXT_texture_from_pixmap, GLX_EXT_framebuffer_sRGB, GLX_NV_present_video

GLX version: 1.2 GLX extensions:

GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_SGIX_fbconfig, GLX_ARB_get_proc_address

OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: ATI Radeon 9600 OpenGL Engine OpenGL version string: 1.4 (2.0 ATI-1.5.48) OpenGL extensions:

GL_ARB_vertex_program, GL_ARB_window_pos, GL_EXT_multi_draw_arrays, GL_EXT_clip_volume_hint, GL_EXT_rescale_normal, GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_NV_texgen_reflection, GL_NV_light_max_exponent, GL_SGIS_generate_mipmap, GL_ARB_imaging, GL_ARB_point_parameters, GL_ARB_texture_border_clamp, GL_ARB_multitexture, GL_ARB_texture_env_add, GL_ARB_texture_cube_map, GL_ARB_texture_env_dot3, GL_ARB_texture_env_combine, GL_ARB_texture_compression, GL_ARB_texture_mirrored_repeat, GL_ARB_shadow, GL_ARB_depth_texture, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_occlusion_query, GL_ARB_point_sprite, GL_ARB_texture_non_power_of_two, GL_EXT_framebuffer_object, GL_EXT_texture_env_add, GL_EXT_blend_color, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_texture_lod_bias, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_stencil_wrap, GL_EXT_separate_specular_color, GL_EXT_secondary_color, GL_EXT_blend_func_separate, GL_EXT_shadow_funcs, GL_EXT_texture_compression_s3tc, GL_EXT_texture_mirror_clamp, GL_NV_blend_square, GL_NV_fog_distance, GL_ATI_texture_mirror_once, GL_SGIS_texture_lod

==================================================================== xdpyinfo (truncated, obviously)

name of display: zeus287:79.0 version number: 11.0 vendor string: The X.Org Foundation vendor release number: 10402000 X.Org version: 1.4.2 maximum request size: 16777212 bytes motion buffer size: 256 bitmap unit, bit order, padding: 32, MSBFirst, 32 image byte order: MSBFirst number of supported pixmap formats: 7 supported pixmap formats:

depth 1, bits_per_pixel 1, scanline_pad 32 depth 4, bits_per_pixel 8, scanline_pad 32 depth 8, bits_per_pixel 8, scanline_pad 32 depth 15, bits_per_pixel 16, scanline_pad 32 depth 16, bits_per_pixel 16, scanline_pad 32 depth 24, bits_per_pixel 32, scanline_pad 32 depth 32, bits_per_pixel 32, scanline_pad 32

keycode range: minimum 8, maximum 255 focus: window 0x20000d, revert to None number of extensions: 25

Apple-DRI Apple-WM BIG-REQUESTS DAMAGE DOUBLE-BUFFER Extended-Visual-Information GLX MIT-SCREEN-SAVER MIT-SHM MIT-SUNDRY-NONSTANDARD RENDER SECURITY SGI-GLX SHAPE SYNC TOG-CUP X-Resource XAccessControlExtension XC-APPGROUP XC-MISC XFIXES XINERAMA XInputExtension XKEYBOARD XVideo

default screen number: 0 number of screens: 1

Changed 7 months ago by wealthychef@…

Dang sorry about the poor formatting. Stupid line endings. If you need it to be cleaned up I can, but I think you can get the gist of it.

Changed 5 months ago by jeremyhu@…

  • component changed from xserver to GLX

I just noticed your mention of ssh here... You're using AIGLX? I assumed this was locally. Does this work locally with 2.5.1_beta1?

Changed 5 months ago by jeremyhu@…

  • milestone changed from OpenGL.framework DRI to later

Changed 5 months ago by jeremyhu@…

  • summary changed from glXChooseVisual gives a GL_STEREO visual when none is supported to AIGLX: glXChooseVisual gives a GL_STEREO visual when none is supported
Note: See TracTickets for help on using tickets.