圖元著色器來源暫存器修飾詞
在指令執行之前,使用來源暫存器修飾詞來變更從暫存器讀取的值。 來源暫存器的內容保持不變。 修飾詞有助於調整註冊資料的範圍,以準備指示。 稱為選取器的一組修飾詞會複製或複寫單一通道 (r,g,b,a) 到其他通道。
ps_1_1 - ps_1_4
下表識別支援每個修飾詞的版本:
來源暫存器修飾詞 | Syntax | 版本 1_1 | 版本 1_2 | 版本 1_3 | 版本 1_4 |
---|---|---|---|---|---|
偏見 | register_bias | X | X | X | X |
轉化 | 1 - 註冊 | X | X | X | X |
negate | -註冊 | X | X | X | X |
縮放 2 | register_x2 | X | |||
帶正負號的縮放比例 | register_bx2 | X | X | X | X |
texld 和 texcrd 修飾詞 | register_d* | X | X | X | X |
來源暫存器雜亂 | register.xyzw | X | X | X | X |
來源暫存器修飾詞只能在算術指令上使用。 它們不能用於紋理位址指令。 例外狀況是 縮放比例為 2 個修飾詞。 對於 1_1 版,簽署的縮放比例可用於任何 texm* 指令的來源引數上。 對於 1_2 或 1_3 版,簽署尺規可用於任何紋理位址指令的來源引數上。
某些修飾詞特定限制:
- 否定可以與偏差、帶正負號的縮放或 scalex2 修飾詞結合。 結合時,會最後執行負值。
- 反轉無法與任何其他修飾詞結合。
- 反轉、否定、偏差、帶正負號的縮放比例和 scalex2 可以與任何選取器結合。
- 來源暫存器修飾詞不應該用於常數暫存器,因為它們會造成未定義的結果。 對於 1_4 版,不允許常數上的修飾詞,而且會失敗驗證。
ps_2_0和更新版本
針對版本ps_2_0和更新版本,已簡化修飾詞的數目。
Negate
否定來源暫存器的內容。
元件修飾詞 | Description |
---|---|
-R | 來源否定 |
這些指示的第二個來源暫存器無法使用否定修飾詞: m3x2 - ps、 m3x3 - ps、 m3x4 - ps、 m4x3 - ps和 m4x4 - ps。
圖元著色器版本 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|
- | x | x | x | x | x |
絕對值
取得暫存器絕對值。
圖元著色器版本 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|
abs | x | x |
如果任何第 3 版著色器從一或多個常數浮點暫存器讀取 (c#) ,則下列其中一個必須是 true。
- 所有常數浮點暫存器都必須使用 abs 修飾詞。
- 沒有常數浮點暫存器可以使用 abs 修飾詞。
相關主題