首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL如何知道如何使用硬件驱动程序?

OpenGL如何知道如何使用硬件驱动程序?
EN

Stack Overflow用户
提问于 2013-08-17 20:37:03
回答 2查看 321关注 0票数 0

我们都知道windows提供了一个通用的OpenGL驱动程序。但一些显卡厂商提供特定的openGL驱动程序。我想知道操作系统该如何选择使用哪个驱动程序?

EN

回答 2

Stack Overflow用户

发布于 2013-08-17 20:40:54

有一些WGL函数用于获取指向较新的OpenGL的适当函数的指针。Windows在创建上下文时任意选择GPU。

因此,例如,当您请求4.3核心上下文时,它会查看驱动程序列表,说明该驱动程序将处理此特定上下文,然后进行所有wgl调用,以便从特定驱动程序的动态链接库加载适当的函数。

票数 1
EN

Stack Overflow用户

发布于 2013-08-18 02:22:22

解释这是如何工作的最简单的平台是Microsoft Windows。它们有一个“可安装客户端驱动程序”(ICD)模型,其中Windows SDK提供了最基本的OpenGL功能(WGL1.1)和一个可扩展的窗口系统接口(OpenGL )。

在Microsoft Windows中使用WGL API创建上下文时,可以枚举特定设备的所有像素格式。一些像素格式将被硬件加速,而另一些将使用回退软件OpenGL 1.1参考实现。

许多平台具有关于硬件/软件共存的类似系统。Mac甚至更棘手,因为你可以从硬件加速的OpenGL实现开始,但调用错误的函数(一个无法在已安装的GPU上的硬件中实现的函数),它会让你偏离“快速路径”,转而使用软件。

不过,Mac的好处在于,这种后备功能只适用于流水线的各个阶段。只要一切都可以在硬件中实现,下一阶段就会回到硬件加速。优点在于,在OS中,OpenGL的软件实现是完整的(例如,3.2上下文将支持整个OpenGL 3.2功能集,即使这样做需要部分/全部软件实现)。如果图形处理器不支持某些东西,您不会失去功能,只是性能的LOT。这与Windows形成了巨大的对比,在Windows中,现代的OpenGL都没有后备软件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18288909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档