共用方式為


ps_1_X的修飾詞

指令修飾詞會影響指令的結果,再寫入目的地暫存器。 例如,使用它們將結果乘以或除以兩個因素,或將結果限制在零和一之間。 指令修飾詞會在指令執行之後套用,但在將結果寫入目的地暫存器之前。

修飾詞的清單如下所示。

修飾詞 Description 語法 版本 1_1 版本 1_2 版本 1_3 版本 1_4
_x2 乘以 2 instruction_x2 X X X X
_x4 乘以 4 instruction_x4 X X X X
_x8 乘以 8 instruction_x8 X
_d2 除以 2 instruction_d2 X X X X
_d4 除以 4 instruction_d4 X
_d8 除以 8 instruction_d8 X
_坐 從 0 到 1 的飽和 (夾) instruction_sat X X X X

 

  • 乘法修飾詞會將暫存器資料乘以讀取後的兩個乘冪。 這與左移位相同。
  • 除法修飾詞會在讀取後,將暫存器資料除以兩個的乘冪。 這與向右移位相同。
  • 飽和修飾詞會將暫存器值的範圍從零限制為一。

指令修飾詞可用於算術指令。 它們可能無法用於紋理位址指示上。

乘修飾詞

本範例會載入目的地暫存器 (dest) ,其中來源運算元 (src0 和 src) 1 中的兩種色彩總和,並將結果乘以兩個。

add_x2 dest, src0, src1

這個範例結合了兩個指令修飾詞。 首先,會新增來源運算元中的兩種色彩, (src0 和 src1) 。 結果接著會乘以兩個,並針對每個元件限制介於 0.0 到 1.0 之間。 結果會儲存在目的地暫存器中。

add_x2_sat dest, src0, src1

除法修飾詞

本範例會載入目的地暫存器 (dest) ,其中來源運算元 (src0 和 src) 1 中的兩個色彩總和,並將結果除以兩個。

add_d2 dest, src0, src1

飽和修飾詞

針對算術指示,飽和度修飾詞會將這個指令的結果限制在每個元件的範圍 0.0 到 1.0。 下列範例示範如何使用這個指令修飾詞。

dp3_sat r0, t0_bx2, v0_bx2    ; t0 is bump, v0 is light direction

此作業會在任何乘法或除法指令修飾詞之後發生。 _sat最常用來限制點產品結果。 不過,它也會啟用多通方法的一致模擬,其中框架緩衝區一律位於範圍 0 到 1,以及 DirectX 6 和 7.0 多文本語法,其中飽和度定義于每個階段。

本範例會載入目的地暫存器 (dest) ,其中來源運算元 (src0 和 src1) 的兩種色彩總和,並將結果固定在每個元件的範圍 0.0 到 1.0。

add_sat dest, src0, src1

這個範例結合了兩個指令修飾詞。 首先,會新增來源運算元中的兩種色彩, (src0 和 src1) 。 結果會乘以 2,並針對每個元件限制在 0.0 到 1.0 之間。 結果會儲存在目的地暫存器中。

add_x2_sat dest, src0, src1

圖元著色器指示