Límites de recursos (Direct3D 11)

Este tema contiene una lista de recursos compatibles con Direct3D 11 (específicamente hardware de nivel de característica 11 o 9.x).

Límites de recursos para hardware de nivel de característica 11

Todos estos límites de recursos se definen como constantes en D3d11.h.

Recurso Límite
Número de elementos de un búfer de constantes D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
Número de elementos de textura (independientemente del tamaño de estructura) en un búfer D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP (2 7) elementos de textura
Dimensión Texture1D U D3D11_REQ_TEXTURE1D_U_DIMENSION (16384)
Dimensión Texture1DArray D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION (segmentos de matriz de 2048)
Dimensión Texture2D U/V D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384)
Dimensión Texture2DArray D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (segmentos de matriz de 2048)
Dimensión texture3D U/V/W D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048)
Dimensión TextureCube D3D11_REQ_TEXTURECUBE_DIMENSION (16384)
Tamaño del recurso (en MB) para cualquiera de los recursos anteriores min(max(128,0,25f * (cantidad de VRAM dedicado)), 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)
Filtrado anisotrópico maxanisotropía D3D11_REQ_MAXANISOTROPY (16)
Dimensión de recursos direccionable filtrando hardware D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION (16384) por dimensión
Tamaño de recurso (en MB) direccionable por IA (datos de entrada o vértice) o VS/GS/PS (ejemplo de punto) max(128,0,25f * (cantidad de VRAM dedicado)) MB
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128)
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0,25f)
Número total de vistas de recursos por contexto (cada matriz cuenta como 1) (todos los tipos de vista tienen límite compartido) D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP (2 )
Tamaño de la estructura de búfer (varios elementos) D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES (2048 bytes)
Tamaño de salida de flujo Igual que el número de elementos de textura en un búfer (consulte el artículo anterior)
Recuento de vértices dibujados o drawInstanced (incluida la creación de instancias) D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP (2 )
DrawIndexed[Instanced]() recuento de vértices (incluidas las instancias) D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (2 )
Datos de salida de invocación de GS (componentes * vértices) D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES (1024)
Número total de objetos sampler por contexto D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE (4096)
Número total de objetos viewport/scissor por canalización D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
Número total de distancias de recorte y selección por vértice D3D11_CLIP_OR_CULL_DISTANCE_COUNT (8)
Número total de objetos de mezcla por contexto D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE (4096)
Número total de objetos de profundidad/galería de símbolos por contexto D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE (4096)
Número total de objetos de estado de rasterizador por contexto D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE (4096)
Número máximo de muestras por píxel durante el muestreo múltiple D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT (32)
Recuento de elementos de vértice de recursos de sombreador (cuatro componentes de 32 bits) D3D11_STANDARD_VERTEX_ELEMENT_COUNT (32)
Recuento de registros temporales de núcleo de sombreador común (cuatro componentes de 32 bits) (r# + indexable x#[n]) D3D11_COMMONSHADER_TEMP_REGISTER_COUNT (4096)
Ranuras de búfer de constantes principales de sombreador comunes D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT (15) (+1 reservado para un búfer de constante inmediato en sombreadores)
Ranuras de entrada y recursos principales del sombreador D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT (128)
Ranuras de ejemplo principales de sombreador comunes D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT (16)
Límite común de anidamiento de subrutinas principales del sombreador D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32)
Límite de anidamiento de control de flujo de núcleo de sombreador común D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64)
Recuento de registros de entrada del sombreador de vértices (cuatro componentes de 32 bits) D3D11_VS_INPUT_REGISTER_COUNT (32)
Recuento de registros de salida del sombreador de vértices (cuatro componentes de 32 bits) D3D11_VS_OUTPUT_REGISTER_COUNT (32)
Recuento de registros de entrada del sombreador de geometría (cuatro componentes de 32 bits) D3D11_GS_INPUT_REGISTER_COUNT (32)
Recuento de registros de salida del sombreador de geometría (cuatro componentes de 32 bits) D3D11_GS_OUTPUT_REGISTER_COUNT (32)
Recuento de registros de entrada del sombreador de píxeles (cuatro componentes de 32 bits) D3D11_PS_INPUT_REGISTER_COUNT (32)
Ranuras de salida del sombreador de píxeles 8
Recuento de registros de profundidad de salida del sombreador de píxeles (un componente de 32 bits) D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT (1)
Ranuras de recursos de entrada del índice de ensamblador de entrada D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT (1)
Ranuras de recursos de entrada de vértice del ensamblador de entrada D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT (32)
Recuento de registros de entrada del punto de control del sombreador de casco (cuatro componentes de 32 bits) D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT (32)
Número de puntos de control de entrada del sombreador de casco D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
Recuento de registros de salida del punto de control del sombreador de casco (cuatro componentes de 32 bits) D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT (32)
Número de puntos de control de salida del sombreador de casco D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
Recuento de registros de salida de revisiones de sombreador de casco (cuatro componentes de 32 bits) D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT (32)
Recuento de registros de entrada del punto de control del sombreador de dominio (cuatro componentes de 32 bits) D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT (32)
Número de puntos de control de entrada del sombreador de dominio D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
Recuento de registros de entrada de revisiones de sombreador de dominio (cuatro componentes de 32 bits) D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT (32)
Recuento de registros de salida de vértices con sombreador de dominio (cuatro componentes de 32 bits) D3D11_DS_OUTPUT_REGISTER_COUNT (32)
Ranuras de vista de acceso desordenado (UAV) del sombreador de proceso D3D11_PS_CS_UAV_REGISTER_COUNT (8)4
Tamaño del icono de recursos en bytes D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES ( 65536 )

Una aplicación puede intentar asignar más memoria para un recurso que el tamaño máximo de recurso especificado. Es decir, el entorno de ejecución de Direct3D 11 permite estos intentos de asignación de memoria en caso de que el hardware pueda admitirlos. Sin embargo, el entorno de ejecución de Direct3D 11 solo garantiza que todas las asignaciones dentro del tamaño máximo de recursos sean compatibles con todo el hardware de nivel de característica 11. Si una aplicación intenta asignar memoria para un recurso dentro del tamaño máximo del recurso, el tiempo de ejecución produce un error en el intento solo si el sistema operativo se queda sin recursos. Si una aplicación intenta asignar memoria para un recurso por encima del tamaño máximo del recurso, el tiempo de ejecución puede producir un error en el intento porque el sistema operativo está sobrecargado o el hardware no admite asignaciones por encima del tamaño máximo de recurso. La capa de depuración solo comprueba D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128) MB.

Las ranuras de salida del sombreador de píxeles se comparten entre registros de salida de píxeles (cuatro componentes de 32 bits) y UAV.

El número total de componentes de todos los sombreador de casco a los puntos de control del sombreador de dominio está limitado a 3968, que es 128 menos que el máximo de puntos de control veces que el punto de control máximo registra cuatro componentes.

4Para los perfiles de sombreador de proceso CS_4_0 y CS_4_1 solo hay 1 UAV disponible. Para obtener más información sobre los perfiles de sombreador, vea Shader Model 5.

Límites de recursos para hardware de nivel de característica 9.x

Todos estos límites de recursos de nivel de característica 9.x se definen como constantes en D3dcommon.h.

Recurso Límite
Dimensión de U de nivel de característica 9_1 texture1D D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION (2048)
Dimensión 9_3 texture1D U de nivel de característica D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION (4096)
Dimensión de U/V de nivel de característica 9_1 D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION (2048)
Dimensión 9_3 texture2D U/V de nivel de característica D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION (4096)
Dimensión 9_1 texture3D U/V/W de nivel de característica D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (256)
Dimensión textureCube de nivel de característica 9_1 D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION (512)
Dimensión textureCube de nivel de característica 9_3 D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION (4096)
Nivel de característica 9_1 anisotrópico filtrado predeterminado maxanisotropía D3D_FL9_1_DEFAULT_MAX_ANISOTROPY (2)
Primitivos máximos del ensamblador de entrada de nivel de característica 9_1 D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT (65535)
Primitivos de ensamblador de entrada máximo de nivel de característica 9_2 D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT (1048575)
Destinos de representación simultáneos del nivel de característica 9_1 D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT (1)
Destinos de representación simultáneos de nivel de característica 9_3 D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT (4)
Repetición máxima de textura de nivel de característica 9_1 D3D_FL9_1_MAX_TEXTURE_REPEAT (128)
Repetición máxima de textura de nivel de característica 9_2 D3D_FL9_2_MAX_TEXTURE_REPEAT (2048)
Repetición máxima de textura del nivel de característica 9_3 D3D_FL9_3_MAX_TEXTURE_REPEAT (8192)

Recursos