gpt4 book ai didi

linux - glXSwapIntervalSGI 段错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:40:12 24 4
gpt4 key购买 nike

我试图在一个围绕 SDL 和 openGL 构建的程序中禁用 Linux 上的垂直同步。我运行的是旧的集成 ATI 卡,驱动程序是 Gallium 0.4。

我试图通过在我的代码中调用 glXSwapInterval(0) 来禁用 vsync,但是当我这样做时,虽然程序编译正常,但当我尝试运行它时出现段错误。

gdb 给了我相当无用的信息:

Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()

有人知道会发生什么吗?

最佳答案

glXSwapIntervalEXT 和 glXSwapIntervalSGI 是扩展函数;您通常通过 glXGetProcAddress 访问扩展的函数地址,尽管某些 libGL.so 可能会直接导出它们。

最简单的解决方案:获取一个 OpenGL 扩展加载器库,例如 GLEW(它位于所有主要 Linux 发行版的包存储库中)。替换所有出现的 #include <GL/gl.h>#include <GL/glew.h>#include <GL/glx.h>#include <GL/glxew.h> ,将 libGLEW.so 添加到链接库列表中,然后调用 glewInit()在创建和绑定(bind) OpenGL 上下文之后。 然后测试扩展是否实际可用!

关于linux - glXSwapIntervalSGI 段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13933805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com