(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) |