目前我正在使用GLEW和GLX(在X11上)的应用程序。初始化catch-22的GLX/GLEW顺序:GLXEW_ARB_create_context,glXCreateContextAttribsARB,glXCreateContext
逻辑的工作原理如下...
glewInit(); /* <- needed so 'GLXEW_ARB_create_context' is set! */
if (GLXEW_ARB_create_context) {
/* opengl >= 3.0*/
.. get fb_config ..
context = glXCreateContextAttribsARB(...);
}
else {
/* legacy context */
context = glXCreateContext(...);
}
我快到的问题,是GLXEW_ARB_create_context
由GLEW初始化,初始化而调用GLEW glGetString
,其崩溃如果之前(glXCreateContextAttribsARB
/glXCreateContext
称为)。
请注意,这只发生在Mesa的软件光栅化器中,(libGL.so用swrast编译)。所以它也可能是Mesa的一个问题。