次の方法で共有


ubfe (sm5 - asm)

数値のビット範囲を指定した場合は、それらのビットを LSB にシフトし、残りのビットを 0 に設定します。

ubfe dest[.mask], src0[.swizzle], src1[.swizzle], src2[.swizzle]
Item 説明
Dest
[入力]命令の結果を格納します。
src0
[入力]LSB 5 ビットは、ビットフィールドの幅 (0 から 31) を提供します。
src1
[入力] src1 の LSB 5 ビットは、ビットフィールド オフセット (0 から 31) を提供します。
src2
[入力]シフトする数値。

注釈

 
        Given width, offset:
                if( width == 0 )
                {
                    dest = 0
                }
                else if( width + offset < 32 )
                {
                    shl dest, src2, 32-(width+offset)
                    ushr dest, dest, 32-width
                }
                else
                {
                    ushr dest, src2, offset
                }

符号なし整数またはフラグをアンパックするには、この命令を使用します。

この命令は、次のシェーダー ステージに適用されます。

Vertex Hull Domain ジオメトリ ピクセル Compute
X X X X X X

最小シェーダー モデル

この命令は、次のシェーダー モデルでサポートされています。

シェーダー モデル サポートされています
シェーダー モデル 5 はい
シェーダー モデル 4.1 no
シェーダー モデル 4 no
シェーダー モデル 3 (DirectX HLSL) no
シェーダー モデル 2 (DirectX HLSL) no
シェーダー モデル 1 (DirectX HLSL) no

シェーダー モデル 5 アセンブリ (DirectX HLSL)