リソース制限 (Direct3D 11)

このトピックには、Direct3D 11 でサポートされているリソースの一覧 (特に 機能レベル 11 または 9.x ハードウェア) が含まれています。

機能レベル 11 ハードウェアのリソース制限

これらのリソース制限はすべて、D3d11.h の定数として定義されます。

リソース 制限
定数バッファー内の要素の数 D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
バッファー内のテクセルの数 (構造体サイズに依存しない) D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP (2 7) テクセル
Texture1D U ディメンション D3D11_REQ_TEXTURE1D_U_DIMENSION (16384)
Texture1DArray ディメンション D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION (2048 配列スライス)
Texture2D U/V ディメンション D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384)
Texture2DArray ディメンション D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (2048 配列スライス)
Texture3D U/V/W ディメンション D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048)
TextureCube ディメンション D3D11_REQ_TEXTURECUBE_DIMENSION (16384)
上記のいずれかのリソースのリソース サイズ (MB 単位) min(max(128,0.25f * (専用 VRAM の量)), 2048) MB
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128)
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0.25f)
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM (2048)
異方性フィルタリング maxanisotropy D3D11_REQ_MAXANISOTROPY (16)
ハードウェアをフィルター処理してアドレス指定可能なリソース ディメンション ディメンションあたりのD3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION (16384)
IA (入力または頂点データ) または VS/GS/PS (ポイント サンプル) でアドレス指定可能なリソース サイズ (MB 単位) max(128,0.25f * (専用 VRAM の量)) MB
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128)
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0.25f)
コンテキストあたりのリソース ビューの合計数 (各配列は 1 としてカウントされます) (すべてのビューの種類に共有制限があります) D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP (2)
バッファー構造体のサイズ (複数要素) D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES (2048 バイト)
ストリーム出力サイズ バッファー内のテクセルの数と同じです (前のページを参照)
描画または描画インスタンス化された頂点数 (インスタンス化を含む) D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP (2)
DrawIndexed[Instanced]() 頂点数 (インスタンス化を含む) D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (2)
GS 呼び出し出力データ (コンポーネント * 頂点) D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES (1024)
コンテキストあたりのサンプラー オブジェクトの合計数 D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE (4096)
パイプラインあたりのビューポート/ハサミ オブジェクトの合計数 D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
頂点あたりのクリップ/カリング距離の合計数 D3D11_CLIP_OR_CULL_DISTANCE_COUNT (8)
コンテキストあたりのブレンド オブジェクトの合計数 D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE (4096)
コンテキストごとの深度/ステンシル オブジェクトの合計数 D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE (4096)
コンテキストごとのラスタライザー状態オブジェクトの合計数 D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE (4096)
マルチサンプリング中の最大ピクセルあたりのサンプル数 D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT (32)
シェーダー リソースの頂点要素数 (4 つの 32 ビット コンポーネント) D3D11_STANDARD_VERTEX_ELEMENT_COUNT (32)
共通シェーダー コア (4 つの 32 ビット コンポーネント) temp-register count (r# + indexable x#[n]) D3D11_COMMONSHADER_TEMP_REGISTER_COUNT (4096)
共通シェーダー コア定数バッファー スロット D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT (15) (シェーダーの即時定数バッファー用に +1 を確保)
共通シェーダー コア入力リソース スロット D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT (128)
共通シェーダー コア サンプラー スロット D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT (16)
共通シェーダー コア サブルーチンの入れ子の制限 D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32)
共通シェーダー コア フロー制御の入れ子の制限 D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64)
頂点シェーダーの入力レジスタ数 (4 つの 32 ビット コンポーネント) D3D11_VS_INPUT_REGISTER_COUNT (32)
頂点シェーダーの出力レジスタ数 (4 つの 32 ビット コンポーネント) D3D11_VS_OUTPUT_REGISTER_COUNT (32)
ジオメトリ シェーダーの入力レジスタ数 (4 つの 32 ビット コンポーネント) D3D11_GS_INPUT_REGISTER_COUNT (32)
ジオメトリ シェーダーの出力レジスタ数 (4 つの 32 ビット コンポーネント) D3D11_GS_OUTPUT_REGISTER_COUNT (32)
ピクセル シェーダーの入力レジスタ数 (4 つの 32 ビット コンポーネント) D3D11_PS_INPUT_REGISTER_COUNT (32)
ピクセル シェーダー出力スロット 8
ピクセル シェーダー出力深度レジスタ数 (1 つの 32 ビット コンポーネント) D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT (1)
入力アセンブラー インデックス入力リソース スロット D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT (1)
入力アセンブラー頂点入力リソース スロット D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT (32)
ハル シェーダー コントロール ポイントの入力レジスタ数 (4 つの 32 ビット コンポーネント) D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT (32)
ハル シェーダーの入力コントロール ポイントの数 D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
ハル シェーダー コントロール ポイントの出力レジスタ数 (4 つの 32 ビット コンポーネント) D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT (32)
出力コントロール ポイントのハル シェーダー数 D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
ハル シェーダー パッチ定数 output-register count (4 つの 32 ビット コンポーネント) D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT (32)
ドメイン シェーダー コントロール ポイントの入力レジスタ数 (4 つの 32 ビット コンポーネント) D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT (32)
入力コントロール ポイントのドメイン シェーダー数 D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
ドメイン シェーダー パッチ定数 input-register count (4 つの 32 ビット コンポーネント) D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT (32)
ドメイン シェーダーテセレーションされた頂点出力レジスタ数 (4 つの 32 ビット コンポーネント) D3D11_DS_OUTPUT_REGISTER_COUNT (32)
コンピューティング シェーダーの順序なしアクセス ビュー (UAV) スロット D3D11_PS_CS_UAV_REGISTER_COUNT (8)4
リソース タイルのサイズ (バイト単位) D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES ( 65536 )

アプリは、リソースに対して、指定されている最大リソース サイズよりも多くのメモリを割り当てようとすることができます。 つまり、Direct3D 11 ランタイムでは、ハードウェアでサポートされる可能性がある場合に、これらのメモリ割り当ての試行が許可されます。 ただし、Direct3D 11 ランタイムでは、最大リソース サイズ内の割り当てがすべての 機能レベル 11 ハードウェアでサポートされていることのみが保証されます。 アプリが最大リソース サイズ内のリソースにメモリを割り当てようとした場合、ランタイムは、オペレーティング システムがリソースを使い切った場合にのみ試行を失敗します。 アプリが最大リソース サイズを超えるリソースにメモリを割り当てようとすると、オペレーティング システムが過剰に使用されているか、ハードウェアが最大リソース サイズを超える割り当てをサポートしていないため、ランタイムは試行に失敗する可能性があります。 デバッグ レイヤーでは、D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128) MB のみがチェックされます。

ピクセル シェーダー出力スロットは、ピクセル出力レジスタ (4 つの 32 ビット コンポーネント) と UAV の間で共有されます。

すべてのハル シェーダーからドメイン シェーダー制御ポイントへのコンポーネントの合計数は 3968 に制限されています。これは、最大コントロール ポイントレジスタが 4 つのコンポーネントを登録する最大制御ポイント数よりも 128 少なくなります。

4コンピューティング シェーダー プロファイルCS_4_0とCS_4_1使用可能な UAV は 1 つだけです。 シェーダー プロファイルの詳細については、「 シェーダー モデル 5」を参照してください。

機能レベル 9.x ハードウェアのリソース制限

これらの 9.x 機能レベル のリソース制限はすべて、D3dcommon.h の定数として定義されます。

リソース 制限
フィーチャー レベル 9_1 texture1D U ディメンション D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION (2048)
機能レベル 9_3 texture1D U ディメンション D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION (4096)
機能レベル 9_1 テクスチャ 2D U/V ディメンション D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION (2048)
機能レベル 9_3 texture2D U/V ディメンション D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION (4096)
フィーチャー レベル 9_1 texture3D U/V/W ディメンション D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (256)
機能レベル 9_1 テクスチャキューブ ディメンション D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION (512)
機能レベル 9_3 textureCube ディメンション D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION (4096)
特徴レベル 9_1 異方性フィルタリング maxanisotropy default D3D_FL9_1_DEFAULT_MAX_ANISOTROPY (2)
機能レベル 9_1 の最大入力アセンブラー プリミティブ D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT (65535)
機能レベル 9_2 の最大入力アセンブラー プリミティブ D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT (1048575)
機能レベル 9_1 の同時レンダー ターゲット D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT (1)
機能レベル 9_3 の同時レンダー ターゲット D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT (4)
機能レベル 9_1 の最大テクスチャ繰り返し D3D_FL9_1_MAX_TEXTURE_REPEAT (128)
機能レベル 9_2 の最大テクスチャ繰り返し D3D_FL9_2_MAX_TEXTURE_REPEAT (2048)
機能レベル 9_3 の最大テクスチャ繰り返し D3D_FL9_3_MAX_TEXTURE_REPEAT (8192)

リソース