次の方法で共有


ID3D12Device::CreateUnorderedAccessView メソッド (d3d12.h)

順序指定されていないアクセス用のビューを作成します。

構文

void CreateUnorderedAccessView(
       ID3D12Resource                         *pResource,
       ID3D12Resource                         *pCounterResource,
       const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
  [in] D3D12_CPU_DESCRIPTOR_HANDLE            DestDescriptor
);

パラメーター

pResource

型: [in, optional] ID3D12Resource*

順序なしのアクセスを表す ID3D12Resource オブジェクトへのポインター。

少なくとも 1 つの pResource または pDesc を指定する必要があります。

null pResource を使用して null 記述子を初期化します。これにより、Direct3D 11 のような null バインディング動作が保証されますが (読み取り 0s、書き込みは破棄されます)、記述子の種類を決定するには有効な pDesc が必要です。

pCounterResource

型: [in, optional] ID3D12Resource*

UAV に関連付けられているカウンター (存在する場合) の ID3D12Resource

pCounterResource が指定されていない場合、D3D12_BUFFER_UAV構造体の CounterOffsetInBytes メンバーは 0 である必要があります。

pCounterResource が指定されている場合、UAV に関連付けられているカウンターがあり、ランタイムは次の要件の検証を実行します。

  • D3D12_BUFFER_UAV構造体の StructureByteStride メンバーは、0 より大きくする必要があります。
  • 形式はDXGI_FORMAT_UNKNOWNする必要があります。
  • D3D12_BUFFER_UAV_FLAG_RAW フラグ ( D3D12_BUFFER_UAV_FLAGS 列挙定数) を設定することはできません。
  • リソース (pResourcepCounterResource) の両方がバッファーである必要があります。
  • D3D12_BUFFER_UAV構造体の CounterOffsetInBytes メンバーは、**D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT** (4096) の倍数である必要があり、カウンター リソースの範囲内である必要があります。
  • pResource は NULL にできません。
  • pDesc を NULL にすることはできません。

pDesc

型: [in, optional] const D3D12_UNORDERED_ACCESS_VIEW_DESC*

順序指定されていないアクセス ビューを記述する D3D12_UNORDERED_ACCESS_VIEW_DESC 構造体へのポインター。

可能であれば、null pDesc を使用して既定の記述子を初期化します。 この動作は、D3D11 null 記述子の動作と同じです。この動作では、既定値が入力されます。 この動作は、リソースの形式とディメンション (型指定されていない場合) を継承し、バッファー UAV の場合は完全なバッファーをターゲットとし、型指定され、テクスチャの場合、UAV は最初の mip とすべての配列スライスをターゲットとします。 すべてのリソースが null 記述子の初期化をサポートしているわけではありません。

[in] DestDescriptor

種類: D3D12_CPU_DESCRIPTOR_HANDLE

順序なしのアクセス ビューを保持するヒープの開始を表す CPU 記述子ハンドルについて説明します。

戻り値

なし

必要条件

   
対象プラットフォーム Windows
ヘッダー d3d12.h
Library D3D12.lib
[DLL] D3D12.dll

関連項目

ID3D12Device