[Qt-interest] SIGSEGV at QGLShaderProgram::addShaderFromSourceCode

Samuel Rødal samuel.rodal at nokia.com
Wed Oct 20 11:05:27 CEST 2010


On 10/18/2010 10:28 PM, ext Josiah Bryan wrote:
> I've got an odd case where my program SIGSEGVs at
> QGLShaderProgram::addShaderFromSourceCode(), even though
> QGLShaderProgram::haspenGLShaderPrograms() returns true.
>
> The addShader... call is the line my code calls, but the SIGSEGV hits
> deeper in Qt. Stack trace in gdb points to qglsahderprogram.cpp:610 at
> the top of the stack when SIGSEGV hits, and that line is just a
> Q_D(QGLShaderProgram) statement...so I'm stuck as to why I'm getting the
> SIGSEGV.
>
> I've tried everything I can think of - even so far as forcing indirect
> rendering with LIBGL_ALWAYS_INDIRECT=true before running the binary, but
> no love.
>
> Now, don't laugh - but I'm using the i810 driver in xorg.conf (onboard
> intel video) - OS is CentOS 5.5. Qt is 4.6.2 (I can't get Qt 4.7 to
> install on CentOS due to a problem with qpatch depending on
> GLIBCXX_3.4.9 or something like that.)
>
> Any ideas on how to fix this crash and use GLSL given the current setup,
> or is that just impossible - even though QGLShaderProgram thinks it
> should be?
>
> Thanks for your help!
> -Josiah

Does glxinfo list GL_ARB_fragment_shader and GL_ARB_vertex_shader? Those 
are needed for GLSL shader support.

--
Samuel



More information about the Qt-interest-old mailing list