vs_2_x
可程式化的頂點著色器是由一組在頂點資料上運作的指令所組成。 註冊傳入和移出 ALU 的資料。 您可以套用其他控制項來修改指令、結果或寫出哪些資料。
頂點著色器版本vs_2_x擴充vs_2_0所支援的功能集。 每個額外的功能都會以D3DVS20CAPS內的D3DCAPS9結構中的對應上限來表示。 若要使用這些端點所代表的任何增強功能,必須將頂點著色器版本指定為vs_2_x。
- 指示 - vs_2_x 包含可用指示的清單。
- 暫存器 - vs_2_x 列出頂點著色器 ALU 所使用的不同類型的暫存器。
- 頂點著色器暫存器修飾詞 是用來修改指令運作方式。
- 頂點著色器來源暫存器修飾詞 會在指令執行之前改變來源暫存器資料。
- 來源暫存器 Swizzling 可進一步控制要讀取、複製或寫入的暫存器元件。
- 目的地暫存器遮罩 會決定要寫入目的地暫存器哪些元件。
新功能
新功能如下所示:
動態流程式控制制
如果D3DVS20CAPS> 0,則支援下列動態流程式控制制指示:
如果同時設定 D3DVS20CAPS ,則支援下列額外的流程式控制制指示:
動態流程式控制制深度的值範圍是 0 到 24,且等於動態流程式控制制指令的巢狀深度 (請參閱 流程式控制制巢狀限制 以取得詳細資料) 。 如果此上限為零,裝置不支援動態流程式控制制指示。
暫存暫存器數目
D3DVS20CAPS 代表裝置支援的 暫存暫存器數目。 此上限的值範圍是 12 到 32。
靜態流程式控制制巢狀深度
D3DVS20CAPS代表兩種靜態流程式控制制指令類型的巢狀深度:loop - vs/rep - vs and call -/vs callnz bool - vsif bool - vs. loop - vs / /rep - vs instructions can nested to D3DVS20CAPS deep。 獨立呼叫 - vs/callnz bool - vs 指令可以巢狀至 D3DVS20CAPS 深度。 如果同時設定 D3DVS20CAPS,則 callnz pred - vs 會計入呼叫的巢狀深度 - vs/callnz bool - vs/if bool - vs (請參閱 流程式控制制巢狀限制 以取得詳細資料) 。
預測
如果已設定 D3DVS20CAPS ,則裝置支援 setp_comp - 與 指示述詞。 如果 D3DVS20CAPS 也大於 0,則支援下列額外的動態流程式控制制指示:
指令計數
每個頂點著色器最多可以儲存 256 個指令。 由於迴圈/rep 支援) ,且受 D3DCAPS9限制,因此執行的指令數目可能會比 (更高,這至少應0xFFFF。
相關主題