共用方式為


資源限制 (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 可設定址的資源大小(以 MB 為單位)(輸入或頂點數據)或 VS/GS/PS(點範例) 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 位元組)
數據流輸出大小 與緩衝區中的紋素數目相同(請參閱上述)
繪製或 DrawInstanced 的頂點數量(包括實例化) 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)
著色器資源頂點元素計數(四個 32 位元組件) D3D11_STANDARD_VERTEX_ELEMENT_COUNT (32)
通用著色核心(四個 32 位元成分)暫存器數量(r# + 可索引的 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)
Common-shader 核心子程式巢狀限制 D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32)
一般著色器核心流程控制巢狀限制 D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64)
頂點著色器輸入暫存器數量(四個 32 位元件) D3D11_VS_INPUT_REGISTER_COUNT (32)
頂點著色器輸出註冊器計數(四個32位元元件) D3D11_VS_OUTPUT_REGISTER_COUNT (32)
幾何著色器輸入緩存器計數 (四個 32 位元件) D3D11_GS_INPUT_REGISTER_COUNT(32)
幾何著色器輸出緩存器計數 (四個 32 位元件) D3D11_GS_OUTPUT_REGISTER_COUNT (32)
像素著色器輸入暫存器數量(四個 32 位元組成部分) D3D11_PS_INPUT_REGISTER_COUNT (32)
像素著色器輸出插槽 8
像素著色器輸出深度暫存器數量(一個32位元件) D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT(1)
輸入組合器索引輸入資源位置 D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT(1)
輸入組合器的頂點輸入資源槽位 D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT(32)
赫爾著色器控制點輸入緩存器計數 (四個 32 位元件) D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT (32)
Hull 著色器輸入控制點的數量 D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
赫爾著色器控制點輸出緩存器計數 (四個 32 位元件) D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT (32)
赫爾著色器輸出控制點數目 D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
赫爾著色器補丁常數輸出寄存器計數 (四個 32 位元組成分) D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT (32)
網域著色器控制點輸入暫存器數量(四個 32 位組件) D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT(32)
網域著色器的輸入控制點數目 D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT(32)
域著色器修補常數輸入暫存器數量(四個 32 位元組件) D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT (32)
網域著色器鑲嵌頂點輸出緩存器計數(四個 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)。

圖元著色器輸出位置會在像素輸出緩存器(四個 32 位元件)和 UAV 之間共用。

所有從船體著色器到網域著色器的控制點的元件總數被限制為 3968,這比最大控制點數乘以最大控制點暫存器數再乘以四個元件後少 128 個。

針對計算著色器配置檔案 CS_4_0 和 CS_4_1,僅有 1 個 UAV 可用。 如需著色器設定檔的詳細資訊,請參閱 著色器模型 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 texture2D 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 textureCube 維度 D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION (512)
功能層級 9_3 貼圖立方體維度 D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION(4096)
功能層級 9_1 各向異性過濾 最大各向異性 預設值 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)

資源