2010-02-01 114 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