D3D11_BIND_FLAG列挙 (d3d11.h)

リソースをパイプラインにバインドする方法を識別します。

構文

typedef enum D3D11_BIND_FLAG {
  D3D11_BIND_VERTEX_BUFFER = 0x1L,
  D3D11_BIND_INDEX_BUFFER = 0x2L,
  D3D11_BIND_CONSTANT_BUFFER = 0x4L,
  D3D11_BIND_SHADER_RESOURCE = 0x8L,
  D3D11_BIND_STREAM_OUTPUT = 0x10L,
  D3D11_BIND_RENDER_TARGET = 0x20L,
  D3D11_BIND_DEPTH_STENCIL = 0x40L,
  D3D11_BIND_UNORDERED_ACCESS = 0x80L,
  D3D11_BIND_DECODER = 0x200L,
  D3D11_BIND_VIDEO_ENCODER = 0x400L
} ;

定数

 
D3D11_BIND_VERTEX_BUFFER
値: 0x1L
バッファーを頂点バッファーとして入力アセンブラー ステージにバインドします。
D3D11_BIND_INDEX_BUFFER
値: 0x2L
バッファーをインデックス バッファーとして入力アセンブラー ステージにバインドします。
D3D11_BIND_CONSTANT_BUFFER
値: 0x4L
バッファーを定数バッファーとしてシェーダー ステージにバインドします。このフラグを他のバインド フラグと組み合わせない場合があります。
D3D11_BIND_SHADER_RESOURCE
値: 0x8L
バッファーまたはテクスチャをシェーダー ステージにバインドする。このフラグは 、D3D11_MAP_WRITE_NO_OVERWRITE フラグと共に使用できません。

メモ Windows 8 以降で使用できる Direct3D 11.1 ランタイムでは、動的定数バッファーと、D3D11_MAP_WRITE_NO_OVERWRITE を使用した動的バッファーのシェーダー リソース ビュー (SRV) のマッピングが可能になります。 Direct3D 11 以前のランタイムでは、頂点バッファーまたはインデックス バッファーへのマッピングが制限されています。 Direct3D デバイスでこれらの機能がサポートされているかどうかを確認するには、 ID3D11Device::CheckFeatureSupportD3D11_FEATURE_D3D11_OPTIONSで呼び出します。 CheckFeatureSupport は、 D3D11_FEATURE_DATA_D3D11_OPTIONS 構造体のメンバーにデバイスの機能を入力します。 ここでの関連メンバーは 、MapNoOverwriteOnDynamicConstantBufferMapNoOverwriteOnDynamicBufferSRV です

 
D3D11_BIND_STREAM_OUTPUT
値: 0x10L
ストリーム出力ステージの出力バッファーをバインドします。
D3D11_BIND_RENDER_TARGET
値: 0x20L
出力合併ステージのレンダー ターゲットとしてテクスチャをバインドします。
D3D11_BIND_DEPTH_STENCIL
値: 0x40L
出力合併ステージの深度ステンシル ターゲットとしてテクスチャをバインドします。
D3D11_BIND_UNORDERED_ACCESS
値: 0x80L
順序付けられていないアクセス リソースをバインドします。
D3D11_BIND_DECODER
値: 0x200L
デコーダー API から出力を受信するために 2D テクスチャ が使用されることを示すには、このフラグを設定します。 デコーダー出力のリソースを作成する一般的な方法は、 ID3D11Device::CreateTexture2D メソッドを呼び出して 2D テクスチャの配列を作成することです。 ただし、 ID3D11Device::CreateShaderResourceView の呼び出しでは、このフラグで作成されたテクスチャ配列を使用することはできません。

Direct3D 11: この値は、Direct3D 11.1 まではサポートされていません。
D3D11_BIND_VIDEO_ENCODER
値: 0x400L
ビデオ エンコーダー API からの入力を受信するために 2D テクスチャ が使用されることを示すには、このフラグを設定します。 ビデオ エンコーダーのリソースを作成する一般的な方法は、 ID3D11Device::CreateTexture2D メソッドを呼び出して 2D テクスチャの配列を作成することです。 ただし、 ID3D11Device::CreateShaderResourceView の呼び出しでは、このフラグで作成されたテクスチャ配列を使用することはできません。

Direct3D 11: この値は、Direct3D 11.1 まではサポートされていません。

解説

一般に、バインド フラグは、ビットごとの OR (定数バッファー フラグを除く) を使用して結合できます。ただし、単一のフラグを使用して、デバイスがリソースの使用を最適化できるようにする必要があります。

この列挙は、次の場合に使用されます。

シェーダー リソース バッファーは定数バッファーではありません。むしろ、テクスチャまたはバッファー データを含むシェーダーにバインドされるテクスチャまたはバッファー リソースです (バッファー内の単一の要素型に限定されません)。 シェーダー リソース バッファーは、D3D11_BIND_SHADER_RESOURCE フラグを使用して作成され、 ID3D11DeviceContext::GSSetShaderResourcesID3D11DeviceContext::P SSetShaderResources、または ID3D11DeviceContext::VSSetShaderResources のいずれかを使用してパイプラインにバインドされます。 さらに、シェーダー リソース バッファーでは 、D3D11_MAP_WRITE_NO_OVERWRITE フラグを使用できません。
メモ Windows 8 以降で使用できる Direct3D 11.1 ランタイムでは、動的定数バッファーと、D3D11_MAP_WRITE_NO_OVERWRITE を使用した動的バッファーのシェーダー リソース ビュー (SRV) のマッピングが可能になります。 Direct3D 11 以前のランタイムでは、頂点バッファーまたはインデックス バッファーへのマッピングが制限されています。 Direct3D デバイスでこれらの機能がサポートされているかどうかを確認するには、 ID3D11Device::CheckFeatureSupportD3D11_FEATURE_D3D11_OPTIONSで呼び出します。 CheckFeatureSupport は、 D3D11_FEATURE_DATA_D3D11_OPTIONS 構造体のメンバーにデバイスの機能を入力します。 ここでの関連メンバーは 、MapNoOverwriteOnDynamicConstantBufferMapNoOverwriteOnDynamicBufferSRV です
 

必要条件

   
Header d3d11.h

関連項目

リソース列挙