圖元著色器差異
指令位置
每個版本都支援不同數目的最大指令位置。
版本 | 指令位置數目上限 |
---|---|
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, max - 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#) 數目
- 任意來源wizzle
- 漸層指示
- 預測
- 沒有相依紋理讀取限制
- 沒有紋理指令限制
新指示:
- 靜態流程式控制制指示 - if bool - ps, call - ps, callnzbool - ps, else - ps,endif - ps, endrep - ps, label - ps, ret - ps
- 動態流程式控制制指示 - break - ps, break_comp - ps, breakp - ps, callnz pred - ps, if_comp - ps, if 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
新暫存器:
- 輸入暫存器 (v#)
- Position Register (vPos)
- 臉部註冊 (vFace)
相關主題