Limites de recursos (Direct3D 11)
Este tópico contém uma lista de recursos compatíveis com o Direct3D 11 (especificamente hardware de nível de recurso 11 ou 9.x).
- Limites de recursos para hardware de nível de recurso 11
- Limites de recursos para hardware de nível de recurso 9.x
- Tópicos relacionados
Limites de recursos para hardware de nível de recurso 11
Todos esses limites de recursos são definidos como constantes em D3d11.h.
Recurso | Limite |
---|---|
Número de elementos em um buffer constante | D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT (4096) |
Número de texels (independente do tamanho do struct) em um buffer | texels D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP (2 7) |
Dimensão Texture1D U | D3D11_REQ_TEXTURE1D_U_DIMENSION (16384) |
Dimensão Texture1DArray | D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION (fatias de matriz de 2048) |
Dimensão de U/V Texture2D | D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384) |
Dimensão Texture2DArray | D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (fatias de matriz de 2048) |
Dimensão U/V/W texture3D | D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048) |
Dimensão TextureCube | D3D11_REQ_TEXTURECUBE_DIMENSION (16384) |
Tamanho do recurso (em MB) para qualquer um dos recursos anteriores | min(max(128,0,25f * (quantidade de VRAM dedicada)), 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) |
Filtragem anisotrópica de maxanisotropia | D3D11_REQ_MAXANISOTROPY (16) |
Dimensão do recurso endereçável filtrando hardware | D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION (16384) por dimensão |
Tamanho do recurso (em MB) endereçável por IA (dados de entrada ou vértice) ou VS/GS/PS (exemplo de ponto) | max(128,0,25f * (quantidade de VRAM dedicada)) 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 exibições de recursos por contexto (cada matriz conta como 1) (todos os tipos de exibição têm limite compartilhado) | D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP (2 ) |
Tamanho da estrutura do buffer (vários elementos) | D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES (2048 bytes) |
Tamanho da saída do fluxo | O mesmo que o número de texels em um buffer (consulte anterior) |
Contagem de vértices Draw ou DrawInstanced (incluindo instanciação) | D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP (2 ) |
Contagem de vértice DrawIndexed[Instanced]() (incluindo instanciação) | D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (2 ) |
Dados de saída de invocação GS (componentes * vértices) | D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES (1024) |
Número total de objetos de amostra por contexto | D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE (4096) |
Número total de objetos viewport/tesoura por pipeline | D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16) |
Número total de distâncias de recorte/recorte por vértice | D3D11_CLIP_OR_CULL_DISTANCE_COUNT (8) |
Número total de objetos de mesclagem por contexto | D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE (4096) |
Número total de objetos de profundidade/estêncil por contexto | D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE (4096) |
Número total de objetos de estado do rasterizador por contexto | D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE (4096) |
Contagem máxima de amostras por pixel durante várias amostras | D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT (32) |
Contagem de elementos de vértice de recurso de sombreador (quatro componentes de 32 bits) | D3D11_STANDARD_VERTEX_ELEMENT_COUNT (32) |
Núcleo de sombreador comum (quatro componentes de 32 bits) contagem de registro temporário (r# + x#[n]indexável) | D3D11_COMMONSHADER_TEMP_REGISTER_COUNT (4096) |
Slots de buffer constante de núcleo de sombreador comum | D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT (15) (+1 reservado para um buffer constante imediato em sombreadores) |
Slots de entrada-recurso de núcleo de sombreador comum | D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT (128) |
Slots de amostragem de núcleo de sombreador comum | D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT (16) |
Limite de aninhamento de sub-rotina do núcleo do sombreador comum | D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32) |
Limite de aninhamento de controle de fluxo do núcleo do sombreador comum | D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64) |
Contagem de registro de entrada do sombreador de vértice (quatro componentes de 32 bits) | D3D11_VS_INPUT_REGISTER_COUNT (32) |
Contagem de registro de saída do sombreador de vértice (quatro componentes de 32 bits) | D3D11_VS_OUTPUT_REGISTER_COUNT (32) |
Contagem de registro de entrada do sombreador de geometria (quatro componentes de 32 bits) | D3D11_GS_INPUT_REGISTER_COUNT (32) |
Contagem de registro de saída do sombreador de geometria (quatro componentes de 32 bits) | D3D11_GS_OUTPUT_REGISTER_COUNT (32) |
Contagem de registro de entrada do sombreador de pixel (quatro componentes de 32 bits) | D3D11_PS_INPUT_REGISTER_COUNT (32) |
Slots de saída do sombreador de pixel | 8 |
Contagem de registros de profundidade de saída do sombreador de pixel (um componente de 32 bits) | D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT (1) |
Slots de recurso de entrada de índice do assembler de entrada | D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT (1) |
Slots de recurso de entrada de vértice do assembler de entrada | D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT (32) |
Contagem de registro de entrada do ponto de controle do sombreador hull (quatro componentes de 32 bits) | D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT (32) |
Número do sombreador de casco de pontos de controle de entrada | D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32) |
Contagem de registro de saída do ponto de controle do sombreador de casco (quatro componentes de 32 bits) | D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT (32) |
Número do sombreador de casco de pontos de controle de saída | D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32) |
Contagem de registro de saída constante do sombreador de casco (quatro componentes de 32 bits) | D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT (32) |
Contagem de registro de entrada do ponto de controle do sombreador de domínio (quatro componentes de 32 bits) | D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT (32) |
Número do sombreador de domínio de pontos de controle de entrada | D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32) |
Contagem de registro de entrada constante do sombreador de domínio (quatro componentes de 32 bits) | D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT (32) |
Contagem de registro de saída de vértice com mosaico de sombreador de domínio (quatro componentes de 32 bits) | D3D11_DS_OUTPUT_REGISTER_COUNT (32) |
Slots UAV (exibição de acesso não ordenado) do sombreador de computação | D3D11_PS_CS_UAV_REGISTER_COUNT (8)4 |
Tamanho do bloco de recursos em bytes | D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES ( 65536 ) |
Um aplicativo pode tentar alocar mais memória para um recurso do que o tamanho máximo do recurso especifica. Ou seja, o runtime do Direct3D 11 permite essas tentativas de alocação de memória caso o hardware possa dar suporte a elas. No entanto, o runtime do Direct3D 11 garante apenas que as alocações dentro do tamanho máximo do recurso sejam compatíveis com todo o hardware de nível de recurso 11. Se um aplicativo tentar alocar memória para um recurso dentro do tamanho máximo do recurso, o runtime falhará na tentativa somente se o sistema operacional ficar sem recursos. Se um aplicativo tentar alocar memória para um recurso acima do tamanho máximo do recurso, o runtime poderá falhar na tentativa porque o sistema operacional está sobrecarregado ou o hardware não dá suporte a alocações acima do tamanho máximo do recurso. A camada de depuração verifica apenas D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128) MB.
Os slots de saída do sombreador de pixel são compartilhados entre registros de saída de pixel (quatro componentes de 32 bits) e UAVs.
O número total de componentes para todos os sombreadores de casco para pontos de controle de sombreador de domínio é limitado a 3968, que é 128 a menos que o máximo de pontos de controle vezes que o ponto de controle máximo registra quatro componentes.
4Para perfis de sombreador de computação CS_4_0 e CS_4_1 há apenas 1 UAV disponível. Para obter mais informações sobre perfis de sombreador, consulte Sombreador Modelo 5.
Limites de recursos para hardware de nível de recurso 9.x
Todos esses limites de recursos de nível de recurso 9.x são definidos como constantes em D3dcommon.h.
Recurso | Limite |
---|---|
Dimensão 9_1 texture1D U de nível de recurso | D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION (2048) |
Dimensão 9_3 texture1D U de nível de recurso | D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION (4096) |
Dimensão U/V de nível de recurso 9_12D | D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION (2048) |
Dimensão U/V do nível do recurso 9_3 texture2D | D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION (4096) |
Dimensão U/V/W de nível de recurso 9_1 texture3D | D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (256) |
Textura de nível de recurso 9_1 Dimensão docubo | D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION (512) |
Nível de recurso 9_3 textureCube dimensão | D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION (4096) |
Padrão de filtragem anisotrópica de nível de recurso 9_1 maxanisotropy | D3D_FL9_1_DEFAULT_MAX_ANISOTROPY (2) |
Primitivos máximos do assembler de entrada de nível de recurso 9_1 | D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT (65535) |
Nível de recurso 9_2 primitivos máximos do assembler de entrada | D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT (1048575) |
Destinos de renderização simultânea de nível de recurso 9_1 | D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT (1) |
Destinos de renderização simultânea de nível de recurso 9_3 | D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT (4) |
Repetição de textura máxima de nível de recurso 9_1 | D3D_FL9_1_MAX_TEXTURE_REPEAT (128) |
Repetição de textura máxima de nível de recurso 9_2 | D3D_FL9_2_MAX_TEXTURE_REPEAT (2048) |
Repetição de textura máxima de nível de recurso 9_3 | D3D_FL9_3_MAX_TEXTURE_REPEAT (8192) |