【发布时间】:2015-02-18 17:46:03
【问题描述】:
我的问题是更新 OpenGL 的核心和 GLSL 版本。我为我的 HD 4400 安装了最新的英特尔驱动程序,但仍然获得了 GLSL 1.30。问题是,这个 GPU 应该支持 OpenGL/GLSL 4.0。无论我做什么,似乎都无法升级,glxinfo 仍然显示 1.30 GLSL。有类似问题的任何人对此有何帮助?
【问题讨论】:
我的问题是更新 OpenGL 的核心和 GLSL 版本。我为我的 HD 4400 安装了最新的英特尔驱动程序,但仍然获得了 GLSL 1.30。问题是,这个 GPU 应该支持 OpenGL/GLSL 4.0。无论我做什么,似乎都无法升级,glxinfo 仍然显示 1.30 GLSL。有类似问题的任何人对此有何帮助?
【问题讨论】:
glxinfo 报告 GL 3.0/GLSL1.30 适合此 GPU。您正在使用 Mesa3D 开源 OpenGL 实现。这目前支持 OpenGL 到 3.3 版。但是,它仅支持 core profile 的现代 GL(这是他们需要提供的唯一配置文件,如规范所示)。在兼容模式下,它仅限于 GL 3.0 / GLSL 1.30 - 这就是您在此处看到的。
glxinfo 的旧版本根本不了解核心配置文件,并且仅限于兼容性/旧版上下文。更新版本的glxinfo 将同时报告两者。因此,对于 Linux 上的 Intel HDxxxx GPU,您将获得类似于
$ glxinfo | grep -i opengl
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.0.1
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 10.0.1
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
【讨论】: