リソース制限 (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) |