是否可以在最新的mesa库中使用OpenGL 4.5功能?

是否可以在最新的mesa库中使用OpenGL 4.5功能?,opengl,Opengl,我想在Ubuntu上使用最新的OpenGL功能。我已经安装了mesa common dev,但据我所知,mesa不支持OpenGL 4.5功能。还有,在没有任何API的情况下,如何通过硬件使用OpenGL 注: glxinfo| grep“OpenGL版本” OpenGL版本字符串:4.5.13397兼容配置文件上下文15.20.1046 我想在Ubuntu上使用最新的OpenGL功能。我已经安装了mesa common dev,但据我所知,mesa不支持OpenGL 4.5功能 重要的是,您的

我想在Ubuntu上使用最新的OpenGL功能。我已经安装了mesa common dev,但据我所知,mesa不支持OpenGL 4.5功能。还有,在没有任何API的情况下,如何通过硬件使用OpenGL

注: glxinfo| grep“OpenGL版本” OpenGL版本字符串:4.5.13397兼容配置文件上下文15.20.1046

我想在Ubuntu上使用最新的OpenGL功能。我已经安装了mesa common dev,但据我所知,mesa不支持OpenGL 4.5功能

重要的是,您的实际OpenGL实现支持您想要的概要文件。OpenGL上的LinuxABI被固定在OpenGL-1.2上(LSB5最近已经发布,所以预计接下来的发行版也会发布,这将它升级到OpenGL-2.1)

任何超出ABI要求的操作都是通过扩展机制完成的。也就是说,通过…GetProcAddress使用加载函数指针,并引入带有
glext.h
的新标记。这个过程已经被重新打包到OpenGL扩展包装加载程序库中,如GLEW

Mesa共同开发的东西是在Linux LSB ABI规范中写的……以厂商中立的方式,所以你可以使用Mesa Cudio DEV的东西编译你的程序,但是它也将与英伟达或AMD/ATI驱动程序一起工作。 还有,在没有任何API的情况下,如何通过硬件使用OpenGL


根据定义,你不能。OpenGL是一个API。如果删除API,则删除OpenGL。如果你的目的是在裸机上使用裸GPU,那么,这可以归结为编写一个完整的驱动程序。几周/几个月后,Vulkan将发布,这将使您比OpenGL更接近GPU。

如果您想使用最新的OpenGL功能,请为您的视频卡安装最新的官方驱动程序。我安装了最新的AMD驱动程序。但是,当我链接libgl时,我如何使用专有库呢?如果一切都安装正确,amd驱动程序应该会自动使用。请参阅@user237160,也许你现在已经想到了这一点,但我在
glBufferStorage
函数方面也遇到了同样的问题,这是OpenGL 4.4中首次指定的,尽管我安装了专有的Nvidia OpenGL库,但在使用
-lGL
编译时,mesa库优先于它,并给了我链接错误。在
-lGL
之前,我必须使用gcc选项
-L/directory/containing/Nvidia's/libGL.so
明确提到库路径,以便它与Nvidia的库链接。您可以执行
定位libGL.so
来定位您的专有库。