我在哪里安装了Ubuntu . 我试图确定笔记本电脑支持哪种版本的opengl,所以我运行:
glxinfo|more
这使:
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Intel Open Source Technology Center (0x8086)
Device: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2) (0x1916)
Version: 12.0.3
Accelerated: yes
Video memory: 3072MB
Unified memory: yes
Preferred profile: core (0x1)
Max core profile version: 4.3
Max compat profile version: 3.0
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.1
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)
OpenGL core profile version string: 4.3 (Core Profile) Mesa 12.0.3
OpenGL core profile shading language version string: 4.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
GL_3DFX_texture_compression_FXT1, GL_AMD_conservative_depth,
GL_AMD_draw_buffers_blend, GL_AMD_seamless_cubemap_per_texture,
GL_AMD_shader_stencil_export, GL_AMD_shader_trinary_minmax,
从那看起来笔记本电脑中的显卡支持opengl版本:
Max core profile version: 4.3
但是当我跑步时:
glxinfo | grep "OpenGL version"
OpenGL version string: 3.0 Mesa 12.0.3
所以也许只有3.0版本?
来自这个网站:https://learnopengl.com/#!Getting-started/OpenGL
似乎在版本3.3中引入了一些非常重要的体系结构更改,如果我可以使用它可能会很棒 .
上面的输出告诉我正确的版本,我可以在这台机器上使用opengl 3.3吗?
好像我有4.4:
1 回答
不要通过
grep
过滤输出,而是全部读取 .glxinfo
单独报告:可用的最高OpenGL核心配置文件版本(在您的情况下:4.3)
可用的最高非核心/兼容性/ <3.2 OpenGL版本(在您的情况下:3.0)
可用的最高OpenGL ES 1版本(1.1)
可用的最高OpenGL ES 2/3版本(3.1)
Core和非Core分别报告的原因是因为允许驱动程序不实现OpenGL> = 3.2的兼容性配置文件 . 这正是你的情况:Core给你4.3,非核心只有3.0 .
(基本上,OpenGL在3.0和3.1版本中引起了巨大而巨大的混乱 . 没有人真正谈论它们 . 为了简单起见,你可以在3.2 Core和3.0之前分割版本 . 另见here) .
同样,OpenGL ES 1和2/3彼此不兼容,因此您需要查询两者以确定各自支持的版本 . (ES 2和3在它们之间是兼容的,所以它们只有一行) .