Limites de ressources (Direct3D 11)
Cette rubrique contient une liste de ressources que Direct3D 11 prend en charge (en particulier le matériel de niveau de fonctionnalité 11 ou 9.x).
- Limites de ressources pour le matériel de niveau de fonctionnalité 11
- Limites de ressources pour le matériel de niveau de fonctionnalité 9.x
- Rubriques connexes
Limites de ressources pour le matériel de niveau de fonctionnalité 11
Toutes ces limites de ressources sont définies en tant que constantes dans D3d11.h.
Ressource | Limite |
---|---|
Nombre d’éléments dans une mémoire tampon constante | D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT (4096) |
Nombre de texels (indépendamment de la taille du struct) dans une mémoire tampon | D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP (2 7) texels |
Texture1D Dimension U | D3D11_REQ_TEXTURE1D_U_DIMENSION (16384) |
Dimension Texture1DArray | D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION (tranches de tableau 2048) |
Dimension U/V Texture2D | D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384) |
Dimension Texture2DArray | D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (tranches de tableau 2048) |
Dimension U/V/W texture3D | D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048) |
Dimension TextureCube | D3D11_REQ_TEXTURECUBE_DIMENSION (16384) |
Taille de ressource (en Mo) pour l’une des ressources précédentes | min(max(128,0.25f * (quantité de VRAM dédiée)), 2048) Mo 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) |
Maxanisotropie de filtrage anisotrope | D3D11_REQ_MAXANISOTROPY (16) |
Dimension de ressource adressable en filtrant le matériel | D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION (16384) par dimension |
Taille de ressource (en Mo) adressable par IA (données d’entrée ou de vertex) ou VS/GS/PS (exemple de points) | max(128,0.25f * (quantité de VRAM dédiée)) Mo D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128) D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0,25f) |
Nombre total d’affichages de ressources par contexte (Chaque tableau compte 1) (tous les types d’affichages ont une limite partagée) | D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP (2 ) |
Taille de la structure de mémoire tampon (multi-éléments) | D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES (2 048 octets) |
Taille de la sortie du flux | Identique au nombre de texels dans une mémoire tampon (voir précédent) |
Draw ou DrawInstanced vertex count (y compris l’instanciation) | D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP (2 ) |
DrawIndexed[Instanced]() nombre de vertex (y compris l’instanciation) | D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (2 ) |
Données de sortie d’appel GS (composants * sommets) | D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES (1024) |
Nombre total d’objets sampler par contexte | D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE (4096) |
Nombre total d’objets de fenêtre d’affichage/scissor par pipeline | D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16) |
Nombre total de distances de découpage/abattage par sommet | D3D11_CLIP_OR_CULL_DISTANCE_COUNT (8) |
Nombre total d’objets de fusion par contexte | D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE (4096) |
Nombre total d’objets de profondeur/gabarit par contexte | D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE (4096) |
Nombre total d’objets d’état de rastériseur par contexte | D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE (4096) |
Nombre maximal d’échantillons par pixel pendant le multi-échantillonnage | D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT (32) |
Nombre d’éléments de vertex de ressources de nuanceur (quatre composants 32 bits) | D3D11_STANDARD_VERTEX_ELEMENT_COUNT (32) |
Common-shader core (quatre composants 32 bits) temp-register count (r# + indexable x#[n]) | D3D11_COMMONSHADER_TEMP_REGISTER_COUNT (4096) |
Emplacements de mémoire tampon constante de cœur de nuanceur commun | D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT (15) (+1 mise de côté pour une mémoire tampon constante immédiate dans les nuanceurs) |
Emplacements d’entrée-ressource principaux common-shader | D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT (128) |
Emplacements d’échantillonnage common-shader core | D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT (16) |
Limite d’imbrication de sous-routine du noyau common-shader | D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32) |
Limite d’imbrication du contrôle de flux common-shader | D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64) |
Nombre de registres d’entrée du nuanceur de vertex (quatre composants 32 bits) | D3D11_VS_INPUT_REGISTER_COUNT (32) |
Nombre de registres de sortie du nuanceur de vertex (quatre composants 32 bits) | D3D11_VS_OUTPUT_REGISTER_COUNT (32) |
Nombre de registres d’entrée du nuanceur Geometry (quatre composants 32 bits) | D3D11_GS_INPUT_REGISTER_COUNT (32) |
Nombre de registres de sortie du nuanceur Geometry (quatre composants 32 bits) | D3D11_GS_OUTPUT_REGISTER_COUNT (32) |
Nombre de registres d’entrée du nuanceur de pixels (quatre composants 32 bits) | D3D11_PS_INPUT_REGISTER_COUNT (32) |
Emplacements de sortie du nuanceur de pixels | 8 |
Nombre de registres de profondeur de sortie du nuanceur de pixels (un composant 32 bits) | D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT (1) |
Emplacements de ressources d’entrée d’index d’assembleur d’entrée | D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT (1) |
Emplacements de ressources d’entrée de vertex de l’assembleur d’entrée | D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT (32) |
Nombre de registres d’entrée de point de contrôle du nuanceur hull (quatre composants 32 bits) | D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT (32) |
Nombre de points de contrôle d’entrée du nuanceur de coque | D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32) |
Nombre de registres de sortie de point de contrôle du nuanceur hull (quatre composants 32 bits) | D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT (32) |
Nombre de points de contrôle de sortie du nuanceur de coque | D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32) |
Nombre de registres de sortie constants du nuanceur de nuanceur hull (quatre composants 32 bits) | D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT (32) |
Nombre de registres d’entrée de point de contrôle du nuanceur de domaine (quatre composants 32 bits) | D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT (32) |
Nombre de points de contrôle d’entrée du nuanceur de domaine | D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32) |
Nombre de registres d’entrée constants correctifs du nuanceur de domaine (quatre composants 32 bits) | D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT (32) |
Nombre de registres de sortie de vertex de nuanceur de domaine (quatre composants 32 bits) | D3D11_DS_OUTPUT_REGISTER_COUNT (32) |
Emplacements d’affichage d’accès non ordonné (UAV) du nuanceur de calcul | D3D11_PS_CS_UAV_REGISTER_COUNT (8)4 |
Taille de la vignette de ressource en octets | D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES ( 65536 ) |
Une application peut essayer d’allouer plus de mémoire pour une ressource que la taille maximale de la ressource spécifiée. Autrement dit, le runtime Direct3D 11 autorise ces tentatives d’allocation de mémoire dans le cas où le matériel peut les prendre en charge. Toutefois, le runtime Direct3D 11 garantit uniquement que les allocations dans la taille maximale des ressources sont prises en charge par tout le matériel de niveau de fonctionnalité 11. Si une application tente d’allouer de la mémoire pour une ressource dans la taille maximale de la ressource, le runtime échoue uniquement si le système d’exploitation manque de ressources. Si une application tente d’allouer de la mémoire pour une ressource supérieure à la taille maximale de la ressource, le runtime peut échouer, car le système d’exploitation est surextendé ou le matériel ne prend pas en charge les allocations au-delà de la taille maximale des ressources. La couche de débogage vérifie uniquement D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128) Mo.
Les emplacements de sortie du nuanceur de pixels sont partagés entre les registres de sortie de pixels (quatre composants 32 bits) et les UAV.
Le nombre total de composants pour tous les points de contrôle du nuanceur de coque à celui du nuanceur de domaine est limité à 3968, soit 128 de moins que le nombre maximal de points de contrôle fois que le point de contrôle maximal inscrit fois quatre composants.
4Pour les profils de nuanceur de calcul CS_4_0 et CS_4_1 il n’y a que 1 UAV disponible. Pour plus d’informations sur les profils de nuanceur, consultez Shader Model 5.
Limites de ressources pour le matériel de niveau de fonctionnalité 9.x
Toutes ces limites de ressources au niveau des fonctionnalités 9.x sont définies en tant que constantes dans D3dcommon.h.
Ressource | Limite |
---|---|
Dimension U du niveau de fonctionnalité 9_1 texture1D | D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION (2048) |
Dimension U du niveau de fonctionnalité 9_3 texture1D | D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION (4096) |
Dimension U/V du niveau de fonctionnalité 9_1 texture2D | D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION (2048) |
Dimension U/V du niveau de fonctionnalité 9_3 texture2D | D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION (4096) |
Niveau de fonctionnalité 9_1 texture3D dimension U/V/W | D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (256) |
Dimension textureCube de niveau de fonctionnalité 9_1 | D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION (512) |
Dimension textureCube de niveau de fonctionnalité 9_3 | D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION (4096) |
Niveau de fonctionnalité 9_1 filtrage anisotropique par défaut maxanisotropy | D3D_FL9_1_DEFAULT_MAX_ANISOTROPY (2) |
Primitives d’assembleur d’entrée maximale de niveau de fonctionnalité 9_1 | D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT (65535) |
Primitives d’assembleur d’entrée maximale de niveau de fonctionnalité 9_2 | D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT (1048575) |
Cibles de rendu simultanées de niveau de fonctionnalité 9_1 | D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT (1) |
Cibles de rendu simultanées de niveau de fonctionnalité 9_3 | D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT (4) |
Répétition de texture maximale au niveau de fonctionnalité 9_1 | D3D_FL9_1_MAX_TEXTURE_REPEAT (128) |
Répétition de texture maximale de niveau de fonctionnalité 9_2 | D3D_FL9_2_MAX_TEXTURE_REPEAT (2048) |
Répétition de texture maximale de niveau de fonctionnalité 9_3 | D3D_FL9_3_MAX_TEXTURE_REPEAT (8192) |