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