内容导航
●对应Shader 3.0的Vertex Shader
Vertex Shader的结构中最引人注意的是内置了Vertex Texture Fetch单元
内置Vertex Texture Fetch单元主要是因为NV40增加了支持DirectX 9的Program Shader 3.0功能,

NV40 Vertex Shader图

Vertex Shader详细图解 NV40的Vertex Shader
●Pixel Shader内搭载两个运算单元系統
NV40中、Pixel Shader和ROP(Rasterizing OPeration)分系统都是由具有完美功能的16单元构成。并不是象NV30/35系列那样实际只有4管道。NVIDIA在发布NV40时强调了这一点,宣称NV40是真正意义上的16管道线。
NV40的Pixel Shader的确很独特,它的最大的特征是1个Pixel Shader能够同时实现4指令/时钟。实现这个功能的原因首先是它的各Pixel Shader内置了2个演算单元,这两个单元都是可以通过四条通道处理32bit浮点运算的SIMD演算单元,所以和通常的Pixel Shader相比较、它能在1时钟时间处理2倍的动作指令。
NV40 Pixel Shader图


Pixel Shader详细图解 NV40的Pixel Shader Pixel Shader版本比较
●Pixel Shader变化多多
Shader自身的内部运算精度和NV30一样是FP32(32bit浮点数据、4way 128bit SIMD)。FP16(16bit浮点数据)和FP32、是在同一单元做相同数据处理的两数据管道,所以性能上没有多大差别。
同时,NV40的Pixel Shader能够把运算单元分成两部分。DirectX 9基本上是先把4way的SIMD分割成3対1、然后再各自处理不同的动作。NV40的1个Pixel Shader中、2个Shader能同时处理两个指令。也就是说有可能总计同时处理4个指令/周期。
此外、也支持Shader 3.0所支持的高动态渲染。
|
|
|
NV40的Dual-Issue和Co-Issue的比较 |
Shader的样本 |
样本Shader的命令执行 |