2010-02-01 132 views

回答

3

據我所知,沒有「DirectX HAL」,HAL只是HAL。 HAL是WDDM使用的內核模式抽象層。反過來,DirectX API與WDDM驅動程序(由nVidia,ATi等編寫)進行對話,並實例化一個HAL設備。

對於與HAL交談的軟件,它需要以特權模式運行(即作爲驅動程序)。如果您好奇,這是HAL指定的地方:http://msdn.microsoft.com/en-us/library/aa490448.aspx

當新版本的Windows發佈時,HAL(通常)會發生變化。是的,天空有時會倒下。還記得沒有XP驅動程序在Vista上工作嗎?這是由WDDM改變或HAL改變引起的。或者,最有可能的是,兩者。

0

視頻Vista +上的驅動程序是針對WDDM編寫的。 See MSDN。我不確定我是否正確理解你,但我認爲WDDM規範/準則/ API是你正在尋找的。

0

GPU供應商寫入設備驅動程序模型(Vista和Windows 7中的WDDM)。它們必須符合此模型以供DirectX使用。

WDDM可在Windows設備驅動程序工具包中找到。

-1

他在找這個嗎?

DirectDraw DDI, Direct3D DDI
這對於編寫設備驅動程序接口的是:(例如繪製三角形)
1.接受D3D請求通過該接口。
2.然後直接訪問視頻卡硬件寄存器以應用該請求。

(填充PCI-E存儲器映射的存儲器,具有:三角參數,渲染狀態和發送命令到GPU開始繪製三角形。)


(等式調用順序:
1.用戶調用Direct3D.DrawPrimitive函數=>
2. Direct3D調用Direct3DDDriver。D3dDrawPrimitives2 funcion in driver =>
3. Direct3D DDI驅動程序將圖形卡存儲器寫入請求參數並將繪圖命令寫入命令​​寄存器。
4. GPU是工作和繪製三角形到其指定的目的地的存儲器區域(例如,在GDDR5),這是動態分配的並且被標記爲目標的2D表面。)


可以練習執行本驅動器,用於更簡單,更舊的開放式硬件規格GPU如:SIS 6326,3dfx Voodoo 1,2,3,4,5。
這在大學裏是非常好的做法。

+0

你可以在答案中加入一些有意義的信息,而不是**只有鏈接**作爲問題的答案。 – Raju 2016-03-25 08:47:17

+0

雖然這可能在理論上回答這個問題,[這將是更可取的](/ meta.stackoverflow.com/q/8259)在這裏包括答案的基本部分,並提供鏈接供參考。 – 2016-03-25 08:50:44