为什么赢了';t MESA让我使用OpenGL 4.5(或3.0以外的任何东西)?

为什么赢了';t MESA让我使用OpenGL 4.5(或3.0以外的任何东西)?,opengl,mesa,Opengl,Mesa,我已经安装了MESA的最新版本(17.0.3),它应该允许我使用OpenGL高于3.0的版本(对吗?) 问题是:我被3.0版本卡住了。(我的意思是,我不知道如何让MESA使用更高版本,或者即使我可以)我知道我的计算机(运行crouton for linux的Chromebook)具有OpenGL 4.5功能。。。但我对梅萨也一无所知:\ 我知道你可以通过glxinfo获得关于OpenGL的信息,所以这里是我目前能提供的最好的信息 OpenGL vendor string: Intel Open

我已经安装了MESA的最新版本(17.0.3),它应该允许我使用OpenGL高于3.0的版本(对吗?)

问题是:我被3.0版本卡住了。(我的意思是,我不知道如何让MESA使用更高版本,或者即使我可以)我知道我的计算机(运行crouton for linux的Chromebook)具有OpenGL 4.5功能。。。但我对梅萨也一无所知:\

我知道你可以通过glxinfo获得关于OpenGL的信息,所以这里是我目前能提供的最好的信息

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 400 (Braswell) 
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.0.3
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 17.0.3
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 17.0.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
提前感谢,并感谢您的帮助:)


另外,对于额外的分数,如果有人知道什么是“核心配置文件版本”,我很想知道:)

请注意,版本字符串出现三次(我们忽略着色语言版本字符串):

OpenGL核心配置文件版本字符串:4.5(核心配置文件)Mesa 17.0.3 ... OpenGL版本字符串:3.0 Mesa 17.0.3 ... OpenGL ES概要文件版本字符串:OpenGL ES 3.1 Mesa 17.0.3 所以如果你创建一个核心上下文,你会得到4.5。如果您创建一个非核心(兼容性)上下文,您将获得3.0。如果您创建一个ES上下文,您将得到3.1

因此,如果您想使用OpenGL4.5,您必须请求一个核心上下文。兼容性上下文是默认的。关于如何创建核心上下文的信息将在用于创建OpenGL上下文的任何API(GLFW、SDL或其他)的文档中


(非Mesa)供应商驱动程序的行为方式不同,即使您选择了兼容上下文,它们也会提供最新版本。但是,Mesa和macOS驱动程序只会为核心上下文提供更新版本。

您的知识让我受益匪浅。我永远感激:)非常有趣的回答。你能用到Khronos wiki或类似网站的链接来备份它吗?@Kyll:你可以通过查看OpenGL实现功能数据库来找到这些信息。请随意添加答案的链接。我有一个关于GLFW的链接。够了吗?我会添加链接和相关的引用。@Kyll:这个问题不是关于GLFW的,它只是一个用于创建OpenGL上下文的框架。问题是不同的实现(GLFW不是一个实现)如何响应上下文创建。 OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.0.3 ... OpenGL version string: 3.0 Mesa 17.0.3 ... OpenGL ES profile version string: OpenGL ES 3.1 Mesa 17.0.3