[vtkusers] VTK 7.0.0.RC1 (and releases before): X-OpenGL depth test(?) problems when using QVTKRenderWindow

Sophonet vtk12af6bc42 at kant.sophonet.de
Mon Jan 18 07:17:49 EST 2016


Hi David,

just tried it - the information you suggested is identical for Cone5.py 
(works, with vtkRenderWindowInteractor) and QVTKRenderWindow.py (depth 
problems). Info is attached below.

Still, the error message

Mesa: User error: GL_INVALID_OPERATION in glDrawBuffer(buffer=0x405)

only occurs when starting QVTKRenderWindow.py (where the depth problems 
occur).

Any more thoughts?

Thanks,

      Fabian

----

Support OpenGL: 1

IsDirect: 1

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_OML_swap_method 
GLX_SGI_make_current_read GLX_SGIS_multisample GLX_SGIX_hyperpipe 
GLX_SGIX_swap_barrier GLX_SGIX_fbconfig
client glx vendor string:  Mesa Project and SGI
client glx version string:  1.4
client glx extensions:  GLX_ARB_create_context 
GLX_ARB_create_context_profile GLX_ARB_create_context_robustness 
GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_get_proc_address 
GLX_ARB_multisample GLX_EXT_import_context GLX_EXT_visual_info 
GLX_EXT_visual_rating GLX_EXT_fbconfig_packed_float 
GLX_EXT_framebuffer_sRGB GLX_EXT_create_context_es2_profile 
GLX_MESA_copy_sub_buffer GLX_MESA_multithread_makecurrent 
GLX_MESA_swap_control GLX_OML_swap_method GLX_OML_sync_control 
GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGI_video_sync 
GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer 
GLX_SGIX_visual_select_group GLX_EXT_texture_from_pixmap 
GLX_INTEL_swap_event
glx extensions:  GLX_ARB_get_proc_address GLX_ARB_multisample 
GLX_EXT_import_context GLX_EXT_visual_info GLX_EXT_visual_rating 
GLX_MESA_multithread_makecurrent GLX_OML_swap_method 
GLX_SGI_make_current_read GLX_SGIS_multisample GLX_SGIX_fbconfig
OpenGL vendor string:  VMware, Inc.
OpenGL renderer string:  Gallium 0.4 on llvmpipe (LLVM 3.3, 128 bits)
OpenGL version string:  2.1 Mesa 9.2.3
OpenGL extensions:  GL_ARB_multisample GL_EXT_abgr GL_EXT_bgra 
GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_subtract 
GL_EXT_copy_texture GL_EXT_polygon_offset GL_EXT_subtexture 
GL_EXT_texture_object GL_EXT_vertex_array GL_EXT_compiled_vertex_array 
GL_EXT_texture GL_EXT_texture3D GL_IBM_rasterpos_clip 
GL_ARB_point_parameters GL_EXT_draw_range_elements GL_EXT_packed_pixels 
GL_EXT_point_parameters GL_EXT_rescale_normal 
GL_EXT_separate_specular_color GL_EXT_texture_edge_clamp 
GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp 
GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_ARB_framebuffer_sRGB 
GL_ARB_multitexture GL_EXT_framebuffer_sRGB GL_IBM_multimode_draw_arrays 
GL_IBM_texture_mirrored_repeat GL_ARB_texture_cube_map 
GL_ARB_texture_env_add GL_ARB_transpose_matrix 
GL_EXT_blend_func_separate GL_EXT_fog_coord GL_EXT_multi_draw_arrays 
GL_EXT_secondary_color GL_EXT_texture_env_add GL_EXT_texture_lod_bias 
GL_INGR_blend_func_separate GL_NV_blend_square GL_NV_light_max_exponent 
GL_NV_texgen_reflection GL_NV_texture_env_combine4 
GL_SUN_multi_draw_arrays GL_ARB_texture_border_clamp 
GL_ARB_texture_compression GL_EXT_framebuffer_object 
GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_MESA_window_pos 
GL_NV_packed_depth_stencil GL_NV_texture_rectangle GL_ARB_depth_texture 
GL_ARB_occlusion_query GL_ARB_shadow GL_ARB_texture_env_combine 
GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 
GL_ARB_texture_mirrored_repeat GL_ARB_window_pos GL_EXT_stencil_two_side 
GL_EXT_texture_cube_map GL_NV_fog_distance GL_APPLE_packed_pixels 
GL_APPLE_vertex_array_object GL_ARB_draw_buffers GL_ARB_fragment_program 
GL_ARB_fragment_shader GL_ARB_shader_objects GL_ARB_vertex_program 
GL_ARB_vertex_shader GL_ATI_draw_buffers GL_ATI_texture_env_combine3 
GL_ATI_texture_float GL_EXT_shadow_funcs GL_EXT_stencil_wrap 
GL_MESA_pack_invert GL_MESA_ycbcr_texture GL_NV_primitive_restart 
GL_ARB_fragment_program_shadow GL_ARB_half_float_pixel 
GL_ARB_occlusion_query2 GL_ARB_point_sprite GL_ARB_shading_language_100 
GL_ARB_sync GL_ARB_texture_non_power_of_two GL_ARB_vertex_buffer_object 
GL_ATI_blend_equation_separate GL_EXT_blend_equation_separate 
GL_OES_read_format GL_ARB_color_buffer_float GL_ARB_pixel_buffer_object 
GL_ARB_texture_compression_rgtc GL_ARB_texture_float 
GL_ARB_texture_rectangle GL_ATI_texture_compression_3dc 
GL_EXT_packed_float GL_EXT_pixel_buffer_object 
GL_EXT_texture_compression_rgtc GL_EXT_texture_mirror_clamp 
GL_EXT_texture_rectangle GL_EXT_texture_sRGB 
GL_EXT_texture_shared_exponent GL_ARB_framebuffer_object 
GL_EXT_framebuffer_blit GL_EXT_packed_depth_stencil 
GL_ARB_vertex_array_object GL_ATI_separate_stencil 
GL_ATI_texture_mirror_once GL_EXT_draw_buffers2 GL_EXT_draw_instanced 
GL_EXT_gpu_program_parameters GL_EXT_texture_array 
GL_EXT_texture_compression_latc GL_EXT_texture_integer 
GL_EXT_texture_sRGB_decode GL_EXT_timer_query GL_OES_EGL_image 
GL_MESA_texture_array GL_ARB_copy_buffer GL_ARB_depth_buffer_float 
GL_ARB_draw_instanced GL_ARB_half_float_vertex GL_ARB_instanced_arrays 
GL_ARB_map_buffer_range GL_ARB_texture_rg GL_ARB_texture_swizzle 
GL_ARB_vertex_array_bgra GL_EXT_texture_swizzle GL_EXT_vertex_array_bgra 
GL_NV_conditional_render GL_AMD_conservative_depth 
GL_AMD_draw_buffers_blend GL_ARB_ES2_compatibility 
GL_ARB_blend_func_extended GL_ARB_debug_output GL_ARB_draw_buffers_blend 
GL_ARB_draw_elements_base_vertex GL_ARB_explicit_attrib_location 
GL_ARB_fragment_coord_conventions GL_ARB_provoking_vertex 
GL_ARB_sampler_objects GL_ARB_shader_texture_lod 
GL_ARB_texture_rgb10_a2ui GL_ARB_uniform_buffer_object 
GL_ARB_vertex_type_2_10_10_10_rev GL_EXT_provoking_vertex 
GL_EXT_texture_snorm GL_MESA_texture_signed_rgba 
GL_ARB_get_program_binary GL_ARB_robustness GL_ARB_shader_bit_encoding 
GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 
GL_ARB_conservative_depth GL_ARB_internalformat_query 
GL_ARB_shading_language_420pack GL_ARB_shading_language_packing 
GL_ARB_texture_storage GL_ARB_transform_feedback_instanced 
GL_EXT_transform_feedback GL_ARB_invalidate_subdata
X Extensions:  SHAPE, Extended-Visual-Information, XInputExtension, 
XTEST, BIG-REQUESTS, MIT-SUNDRY-NONSTANDARD, DEC-XTRAP, SYNC, XKEYBOARD, 
XC-MISC, RECORD, DOUBLE-BUFFER, XC-APPGROUP, SECURITY, TOG-CUP, GLX, 
SGI-GLX, XFIXES, RENDER, RANDR, X-Resource, XEVIE, DAMAGE


Am 2016-01-15 23:01, schrieb David Gobbi:
> Hi Sophonet,
> 
> You can try using the vtkRenderWindow to get info from the context, to
> see if it's different with QVTKRenderWindowInteractor than without.
> 
> There are two boolean methods for vtkRenderWindow:
>    window.SupportsOpenGL()
>    window.IsDirect()
> 
> And also this method that prints a bunch of info:
>    print window.ReportCapabilities()
> 
> You might have to all Render() once before calling these methods.
> 
>  - David
> 
> On Fri, Jan 15, 2016 at 2:55 AM, Sophonet
> <vtk12af6bc42 at kant.sophonet.de> wrote:
> 
>> Hi David,
>> 
>> The problem occurs as well when running
>> QVTKRenderWindowInteractor.py directly.
>> 
>> I have tried picking the Mesa software renderer to exclude a
>> graphics driver problem by
>> 
>> LIBGL_ALWAYS_SOFTWARE=1 GALLIUM_DRIVER=softpipe python
>> PATHTO_/QVTKRenderWindowInteractor.py, but same problem.
>> 
>> The software renderer is chosen by setting the two variables as I
>> could verify with
>> 
>> LIBGL_ALWAYS_SOFTWARE=1 GALLIUM_DRIVER=softpipe glxinfo:
>> 
>> ...
>> OpenGL renderer string: Gallium 0.4 on softpipe
>> OpenGL version string: 2.1 Mesa 9.2.3
>> OpenGL shading language version string: 1.30
>> ...
>> 
>> I have found a related thread here (8 years old):
>> 
>> http://osdir.com/ml/python-enthought-devel/2008-04/msg00491.html
>> [1]
>> 
>> ...but as opposed to the problem described there, I do not see
>> warnings on a missing depth buffer when turning on MESA_DEBUG=1 -
>> only the errors with respect to glDrawBuffer / glReadBuffer (see my
>> previous e-mail)... and in order to rule out device driver problems,
>> I have forced software rendering as mentioned above.
>> 
>> I would be happy to debug further if I would know how.
>> 
>> Thanks,
>> 
>>        sophonet
>> 
>> Am 2016-01-14 21:39, schrieb David Gobbi:
>> Hi Sophonet,
>> 
>> QVTKRenderWindowInteractor.py has a "main" and can be run as an
>> example.  If you run it, does it show the same problem?
>> 
>> I recently tried it with VTK 7.0.0.rc1 and didn't see any depth
>> buffer
>> issues (using Ubuntu 12.04).
>> 
>>  - David
>> 
>> On Thu, Jan 14, 2016 at 1:17 PM, Sophonet
>> <vtk12af6bc42 at kant.sophonet.de> wrote:
>> 
>> Dear list,
>> 
>> when trying to run a Qt Python application using the
>> qt.QTVTKRenderWindow, there are depth test problems.
>> 
>> Examples/Tutorial/Step1/Python/Cone.py works perfect, but with a
>> simple QVTKRenderWindow example (based on
>> https://gist.github.com/samueljohn/3090097 [2] [1], needs two more
>> imports though), there are depth test problems, i.e. it appears
>> that
>> for some reason no depth test is applied (so the last drawn
>> primitive is always visible on top).
>> 
>> When doing
>> 
>> export MESA_DEBUG=1
>> 
>> before running the two scripts, there is one warning in the
>> Examples/Tutorial/Step1/Python/Cone.py,
>> 
>> Mesa warning: couldn't open libtxc_dxtn.so, software DXTn
>> compression/decompression unavailable
>> 
>> [but everything looks fine],
>> 
>> but many more with the QVTKRenderWindow
>> 
>> Mesa: User error: GL_INVALID_OPERATION in
>> glDrawBuffer(buffer=0x405)
>> Mesa: User error: GL_INVALID_OPERATION in
>> glReadBuffer(buffer=0x405)
>> ...
>> 
>> I am running Mesa 9.2.3 on my system (OpenSUSE 13.1), so I cannot
>> switch to the OpenGL2 rendering backend (which might resolve the
>> problem? - don't know...).
>> 
>> Any hints?
>> 
>> Thanks,
>> 
>>      sophonet
>> 
>> Links:
>> ------
>> [1] https://gist.github.com/samueljohn/3090097 [2]
> 
> 
> 
> Links:
> ------
> [1] http://osdir.com/ml/python-enthought-devel/2008-04/msg00491.html
> [2] https://gist.github.com/samueljohn/3090097


More information about the vtkusers mailing list