圖元著色器來源暫存器修飾詞

在指令執行之前,使用來源暫存器修飾詞來變更從暫存器讀取的值。 來源暫存器的內容保持不變。 修飾詞有助於調整註冊資料的範圍,以準備指示。 稱為選取器的一組修飾詞會複製或複寫單一通道 (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

否定來源暫存器的內容。

元件修飾詞 描述
- r 來源否定

 

這些指示的第二個來源暫存器無法使用否定修飾詞: m3x2 - psm3x3 - psm3x4 - psm4x3 - psm4x4 - 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 修飾詞。

圖元著色器暫存器修飾詞