零零社区|百姓的网上家园-互动交流平台!(0.0)=^_^=(00社区)

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz

Linux终可原生执行DX10/11

2013-4-7 13:36| 发布者: 123456000000| 查看: 18| 评论: 0

摘要: 今天,Mesa开源显卡驱动架构迎来了也许是最为有趣、最为重要的一个Gallium3D状态追踪器(State Tracker)。通过它,微软DirectX 10/11 API终于真正投入了linux的怀抱。Luca Barbieri宣布,他已经在Gallium3D驱动中增加 ...

今天,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

编译/驱动之家


路过

雷人

握手

鲜花

鸡蛋

相关阅读

发表评论

最新评论

相关分类


Archiver|手机版|小黑屋|00社区

GMT+8, 2023-1-31 10:50 , Processed in 0.046436 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部