找回密码
 注册
查看: 1244|回复: 0

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

[复制链接]
发表于 2010-9-24 00:58:42 | 显示全部楼层 |阅读模式
今天,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 ... 3863d09c1b8903d438b
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|鼠窝站长论坛

GMT+8, 2025-4-22 01:48 , Processed in 0.097428 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表