圖元著色器差異
指令位置
每個版本都支援不同的最大指令位置數目。
版本 | 指令位置數目上限 |
---|---|
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.):
- 動態流程控制
- 靜態流程控制
- 動態和靜態流程控制指令的巢狀
- 臨時緩存器數目s (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
新的快取器:
相關主題