RWByteAddressBuffer
バイト単位でインデックス指定された読み取り/書き込みバッファー。
メソッド | 説明 |
---|---|
GetDimensions | リソースのサイズを取得します。 |
InterlockedAdd | アトミックに加算します。 |
InterlockedAnd | アトミックに AND 演算を実行します。 |
InterlockedCompareExchange | アトミックに比較と交換を行います。 |
InterlockedCompareStore | アトミックに比較と格納を行います。 |
InterlockedExchange | アトミックに交換します。 |
InterlockedMax | アトミックに最大値を見つけます。 |
InterlockedMin | アトミックに最小値を見つけます。 |
InterlockedOr | アトミックに OR 演算を実行します。 |
InterlockedXor | アトミックに XOR 演算を実行します。 |
Load | 1 つの値を取得します。 |
Load2 | 2 つの値を取得します。 |
Load3 | 3 つの値を取得します。 |
Load4 | 4 つの値を取得します。 |
Store | 1 つの値を設定します。 |
Store2 | 2 つの値を設定します。 |
Store3 | 3 つの値を設定します。 |
Store4 | 4 つの値を設定します。 |
RWByteAddressBuffer オブジェクトには、プレフィックスとして記憶域クラス globallycoherent を付けることができます。この記憶域クラスを指定すると、他のグループに書き込みがわかるように、メモリー バリアーおよび同期で GPU 全体でのデータ フラッシュが実行されます。この指定子がない場合、メモリー バリアーまたは同期で実行される UAV のフラッシュは、現在のグループ内でのみ行われます。
このリソースにバインドされた UAV フォーマットは、DXGI_FORMAT_R32_TYPELESS フォーマットを使用して作成する必要があります。
このリソースにバインドされた UAV は、D3D11_BUFFER_UAV_FLAG_RAW を使用してあらかじめ作成しておく必要があります。
最低限必要なシェーダー モデル
このオブジェクトは、次のシェーダー モデルでサポートされています。
シェーダー モデル | サポート |
---|---|
シェーダー モデル 5 以上のシェーダー モデル
シェーダー モデル 4 (一部の Direct3D 10 デバイス上の Direct3D 11 のコンピュート シェーダーで使用可能) |
○ |
このオブジェクトは、次の種類のシェーダーでサポートされています。
頂点 | ハル | ドメイン | ジオメトリ | ピクセル | 演算 |
---|---|---|---|---|---|
x | x |