里程碑!Linux终可原生执行DX10/11
  • 上方文Q
  • 2010年09月23日 17:50
  • 0

今天,Mesa开源显卡驱动架构迎来了也许是最为有趣、最为重要的一个Gallium3D状态追踪器(State Tracker)。通过它,微软DirectX 10/11 API终于真正投入了Linux的怀抱。

Luca Barbieri宣布,他已经在Gallium3D驱动中增加了一个名为“d3d1x”的状态追踪器,籍此实现了对Direct3D 10/11 COM API的部署。虽然还只是一个很不成熟的初期版本,但已经可以正常工作,能够运行一些DX10/11纹理演示程序。

这种做法自然不同于简单地将Direct3D调用翻译成OpenGL指令,就像Wine现在做得那样,而是在Gallium3D、TGSI中原生实现了Direct3D 10/11,让显卡驱动和硬件得以直接对话。当然,这一切都是免费开源的!

更令人激动的是,AMD fglrx、NVIDIA官方显卡驱动也都能得到支持,并且并不会很复杂。得益于Direct3D 10/11的精妙设计和与Gallium的密切关系,这种做法并不会导致明显的延迟,维护也非常方便,用户可以更简单地在官方驱动、Gallium开源驱动之间切换。

这也为非Windows平台上的图形编程提供了OpenGL之外的另一种选择,特别是Linux和其他免费开源系统上。优秀的设计让Direct3D 10/11 API要比OpenGL好得多,支持所需的代码和开发时间也少得多,确切地说是大约26000行代码

至于Wine如何调用这个状态追踪器,目前还没有公布任何DLL,不过Luca说这应当很容易实现。迄今为止,Wine仍然只能支持到DX10,实现DX11还很遥远。

VMware此前也曾开发了一个Direct3D状态追踪器,但只能支持到DX9、并不开源、仅面向Windows Gallium3D。

详细见此: http://cgit.freedesktop.org/mesa/mesa/commit/?id=92617aeac109481258f0c3863d09c1b8903d438b

慕尼黑啤酒节上的庆祝:

里程碑!Linux终可原生执行DX10/11

里程碑!Linux终可原生执行DX10/11

里程碑!Linux终可原生执行DX10/11

里程碑!Linux终可原生执行DX10/11

 

文章纠错

  • 好文点赞
  • 水文反对

此文章为快科技原创文章,快科技网站保留文章图片及文字内容版权,如需转载此文章请注明出处:快科技

观点发布 网站评论、账号管理说明
热门评论
查看全部评论
相关报道

最热文章排行查看排行详情

邮件订阅

评论0 | 点赞0| 分享0 | 收藏0