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

pde*_*del 8 c++ opengl graphics intel glsl

从理论上讲,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:
Run Code Online (Sandbox Code Playgroud)

(目前运行Intel HD Graphics 4000)

任何人都可以解释"核心配置文件版本字符串"和"版本字符串"之间的区别以及为什么它们不同?

gen*_*ult 6

它就在发行说明中:

OpenGL 3.3 在创建上下文时请求,因为不支持兼容性上下文.

它看起来像是glxinfo第一次尝试获取最高支持的核心配置文件信息,然后回退到非核心.

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

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