找回密码
 注册
快捷导航
查看: 8389|回复: 0

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

[复制链接] |自动提醒
阅读字号:

473

回帖

53

积分

3887

资产值

管理员 Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

注册时间
2001-11-28
金牌荣誉勋章(注册20年以上会员)
发表于 2010-9-24 08:51:13| 字数 742| - 中国–广东–深圳 电信节点 | 显示全部楼层 |阅读模式

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

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.5 © 2001-2023 Comsenz Inc

GMT+8, 2025-1-20 21:00 , Processed in 0.077368 second(s), 27 queries , Gzip On, OPcache On.

手机版|小黑屋|安卓客户端|iOS客户端|Archiver|备用网址1|备用网址2|在线留言|专门网

返回顶部