Share via


(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)
Anisotropic 篩選 maxanisotropy D3D11_REQ_MAXANISOTROPY (16)
篩選硬體可定址的資源維度 每個維度D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION (16384)
IA (輸入或頂點資料) 或 VS/GS/PS (點範例) 以 MB) 定址的資源大小) ( 最大 (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)
每個管線的檢視區/scissor 物件總數 D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
每個頂點的剪輯/cull 距離總數 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)
通用著色器核心副程式巢狀限制 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)
殼層著色器輸入控制點數目 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 個小於最大控制點時間上限控制點暫存器四次元件。

4 針對計算著色器設定檔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 紋理Cube 維度 D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION (512)
功能層級 9_3 textureCube 維度 D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION (4096)
功能層級 9_1 非等向性篩選 maxanisotropy 預設值 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)

資源