指令槽
每个版本支持不同的最大指令槽数。
版本 | 最大指令槽数 |
---|---|
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
- 动态流控制指令 - 中断 - 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
新寄存器:
相关主题