[閒聊] 里程碑!Linux終可原生執行DX10/11
今天,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://ppt.cc/SIr0
http://news.mydrivers.com/1/175/175666.htm
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.121.197.68
推
09/23 20:00, , 1F
09/23 20:00, 1F
推
09/23 20:41, , 2F
09/23 20:41, 2F
推
09/23 21:40, , 3F
09/23 21:40, 3F
推
09/23 23:18, , 4F
09/23 23:18, 4F
推
09/24 12:49, , 5F
09/24 12:49, 5F
推
09/24 16:02, , 6F
09/24 16:02, 6F
推
09/24 16:03, , 7F
09/24 16:03, 7F
推
09/24 16:08, , 8F
09/24 16:08, 8F