像素着色器差异
指令槽
每个版本都支持不同数量的最大指令槽。
版本 | 最大指令槽数 |
---|---|
ps_1_1 | 4 纹理 + 8 个算术 |
ps_1_2 | 4 纹理 + 8 个算术 |
ps_1_3 | 4 纹理 + 8 个算术 |
ps_1_4 | 每个阶段 6 个纹理 + 8 个算术 |
ps_2_0 | 32 纹理 + 64 算术 |
ps_2_x | 96 个最小值,最多为 D3DCAPS9 中的槽数。D3DPSHADERCAPS2_0.NumInstructionSlots。 请参阅D3DPSHADERCAPS2_0。 |
ps_3_0 | 512 个最小值,最多为 D3DCAPS9 中的槽数。MaxPixelShader30InstructionSlots。 请参阅D3DPSHADERCAPS2_0。 |
有关软件着色器的限制的信息,请参阅 软件着色器。
流控制嵌套限制
- 请参阅 流控制限制。
ps_1_x 功能
新说明:
请参阅 ps_1_1、ps_1_2、ps_1_3 ps_1_4说明。
新寄存器:
请参阅 ps_1_1__ps_1_2__ps_1_3__ps_1_4寄存器。
ps_2_0功能
新功能:
新说明:
- 设置说明 - dcl - (sm2、sm3 - ps asm) 、 dcl_samplerType (sm2、sm3 - ps asm)
- 算术指令 - abs - ps, crs - ps, dp2add - ps, exp - ps, frc - ps, log - ps, m3x2 - ps, m3x3 - ps, m3x4 - ps, m4x3 - ps, m4x4 - ps, max - ps, min - ps, nrm - ps, pow - ps, rcp - ps, rsq - ps, sincos - ps
- 纹理指令 - texld - ps_2_0和向上 (不同的语法) , texldb - ps, texldp - ps
新寄存器:
ps_2_x 功能
新功能 (请参阅 D3DPSHADERCAPS2_0.) :
- 动态流控制
- 静态流控制
- 动态和静态流控制指令的嵌套
- 已增加 的临时注册 (r#) 数
- 任意源重排
- 渐变指令
- 预测
- 无依赖纹理读取限制
- 无纹理指令限制
新说明:
- 静态流控制指令 - 如果 bool - ps、 call - ps、 callnz bool - ps、 else - ps、 endif - ps、 rep - ps、 endrep - ps、 label - ps、 ret - ps
- 动态流控制指令 - break - ps, break_comp - ps, breakp - ps, callnz pred - ps, if_comp - ps, 如果 pred - ps, setp_comp - ps
- 算术指令 - dsx - ps, dsy - ps
- 纹理指令 - texldd - ps
新寄存器:
- 谓词寄存器 (p0)
ps_3_0功能
新功能:
新说明:
- 设置说明 - dcl_semantics (sm3 - ps asm)
- 静态流指令 - 循环 - ps, endloop - ps
- 算术指令 - sincos - ps (新语法)
- 纹理指令 - texldl - ps
新寄存器:
相关主题