核心资料与版本字符串?只在台面10.0.1中获得GLSL 1.3 / OGL 3.0

时间:2013-12-26 04:44:04

标签: c++ opengl graphics glsl intel

理论上,mesa 10.0.1应支持OpenGL 3.3,但目前我只获得3.0支持。

glxinfo给出了一些令人困惑的结果......

[pdel@architect build]$ 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:

(目前正在运行Intel HD Graphics 4000)

任何人都可以解释“核心配置文件版本字符串”和“版本字符串”之间的区别以及它们与众不同的原因吗?

1 个答案:

答案 0 :(得分:6)

在发行说明中就是这样:

  

OpenGL 3.3 is only available if requested at context creation because compatibility contexts not supported.

看起来glxinfo首先尝试获取支持最高的核心配置文件信息,然后再回到非核心状态。

因此,您将获得两组版本,一组用于核心配置文件,另一组用于非核心配置文件。

如果您想在Mesa下使用OpenGL 3.3,则必须创建核心配置文件。