I am working on a "salome" package for mandriva: http://www.salome-platform.org, that uses opencascade in the "geometry" module. It appears to work correctly in software rendering (i.e. force it to use swraster, usually by switching the Xorg module to fbdev or vesa as a "fast hack"), but with radeon drm it doesn't work correctly. Running the command: % MESA_DEBUG=FP LIBGL_DEBUG=verbose runSalome then loading a sample file, gdb -p'ing the pid of SALOME_Session_Server, when I select the geometry module (what causes it to load the opencascade module/library), I see the mesa debug: libGL: XF86DRIGetClientDriverName: 5.3.0 r300 (screen 0) libGL: OpenDriver: trying /usr/lib64/dri/r300_dri.so Using x11AppColormap libGL: Can't open configuration file /etc/drirc: Arquivo ou diretório não encontrado. Mesa warning: couldn't open libtxc_dxtn.so, software DXTn compression/decompression unavailable Mesa: User error: GL_INVALID_ENUM in glIsEnabled(0xb72) Mesa: User error: GL_INVALID_ENUM in glEnable(0xb72) Mesa: 1 similar GL_INVALID_ENUM errors Mesa: User error: GL_INVALID_ENUM in glIsEnabled(0xb72) Mesa: User error: GL_INVALID_ENUM in glEnable(0xb72) Mesa: 1 similar GL_INVALID_ENUM errors Mesa: User error: GL_INVALID_ENUM in glIsEnabled(0xb72) Mesa: User error: GL_INVALID_ENUM in glEnable(0xb72) Mesa: 1 similar GL_INVALID_ENUM errors Mesa: User error: GL_INVALID_ENUM in glIsEnabled(0xb72) Mesa: User error: GL_INVALID_ENUM in glEnable(0xb72) Mesa: 1 similar GL_INVALID_ENUM errors Mesa: User error: GL_INVALID_ENUM in glIsEnabled(0xb72) Mesa: User error: GL_INVALID_ENUM in glEnable(0xb72) Mesa: 1 similar GL_INVALID_ENUM errors Mesa: User error: GL_INVALID_ENUM in glIsEnabled(0xb72) Mesa: User error: GL_INVALID_ENUM in glEnable(0xb72) and if I tell to to "show" the geometry, it keeps poping up a message about SIGFPE, that in gcc is: Program received signal SIGFPE, Arithmetic exception. 0x00007f33daad9928 in _tnl_RasterPos () from /usr/lib64/dri/libdricore.so (gdb) bt #0 0x00007f33daad9928 in _tnl_RasterPos () from /usr/lib64/dri/libdricore.so #1 0x00007f33daa86c97 in ?? () from /usr/lib64/dri/libdricore.so #2 0x00007f33db0e3261 in MarkerSetDisplay (data=..., n=<value optimized out>, k=<value optimized out>) at ../../../src/OpenGl/OpenGl_mrkrset.c:179 #3 0x00007f33db103235 in TsmSendMessage (el=<value optimized out>, msg=<value optimized out>, data=..., n=44999116) at ../../../src/OpenGl/OpenGl_tsm.c:134 #4 0x00007f33db0d0beb in ExecuteStructureDisplay (data=<value optimized out>, n=<value optimized out>, k=0x7fffadeaf5f0) at ../../../src/OpenGl/OpenGl_execstruct.c:463 #5 0x00007f33db103235 in TsmSendMessage (el=<value optimized out>, msg=<value optimized out>, data=..., n=44999116) at ../../../src/OpenGl/OpenGl_tsm.c:134 #6 0x00007f33db0d0d51 in ExecuteStructureDisplay (data=<value optimized out>, n=<value optimized out>, k=0x7fffadeafae0) at ../../../src/OpenGl/OpenGl_execstruct.c:423 #7 0x00007f33db103235 in TsmSendMessage (el=<value optimized out>, msg=<value optimized out>, data=..., n=44999116) at ../../../src/OpenGl/OpenGl_tsm.c:134 #8 0x00007f33db10368e in TsmDisplayStructure (stid=<value optimized out>, wsid=<value optimized out>) at ../../../src/OpenGl/OpenGl_tsm.c:339 #9 0x00007f33db0d30a8 in redraw_all_structs (wsid=203, vstid=203) at ../../../src/OpenGl/OpenGl_funcs.c:567 The only suspecting thing I can see is: (gdb) frame 2 #2 0x00007f33db0e3261 in MarkerSetDisplay (data=..., n=<value optimized out>, k=<value optimized out>) at ../../../src/OpenGl/OpenGl_mrkrset.c:179 179 glRasterPos3f( ptr->xyz[0], ptr->xyz[1], ptr->xyz[2] ); (gdb) p ptr->xyz[0] $1 = 0 (gdb) p ptr->xyz[1] $2 = 0 (gdb) p ptr->xyz[2] $3 = 0 all the other offsets are not 0,0,0.
The current solution I am using in the package is to add export LIBGL_ALWAYS_INDIRECT=true to the runSalome script. Also, the problem doesn't happen in all files; probably an issue if there is a vertice at the 0,0,0 coordinate, in association with the Mesa: User error: GL_INVALID_ENUM in glIsEnabled(0xb72) Mesa: User error: GL_INVALID_ENUM in glEnable(0xb72) errors
Just tested with a build of salome version 5.1.4. Unlike when running on a computer with an intel card (bug #27333), it now works without setting LIBGL_ALWAYS_INDIRECT, and this way becomes fast/responsive in the opencascade viewer; vtk viewer is very slow on both test systems (i586/i965 and x86_64/r300), and should be a software issue as it was not so slower with salome 5.1.3. But still fills the console with these warnings: Mesa: User error: GL_INVALID_ENUM in glIsEnabled(0xb72) Mesa: User error: GL_INVALID_ENUM in glEnable(0xb72) Mesa: 1 similar GL_INVALID_ENUM errors Software version is: $ rpm -q x11-server-xorg x11-driver-video-ati mesa lib64drm2 x11-server-xorg-1.9.2-1mdv2011.0 x11-driver-video-ati-6.13.99-0.20101029.1mdv2011.0 mesa-7.9-1mdv2011.0 lib64drm2-2.4.22-1mdv2011.0
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/120.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.