énumération D3D11_BIND_FLAG (d3d11.h)

Identifie comment lier une ressource au pipeline.

Syntax

typedef enum D3D11_BIND_FLAG {
  D3D11_BIND_VERTEX_BUFFER = 0x1L,
  D3D11_BIND_INDEX_BUFFER = 0x2L,
  D3D11_BIND_CONSTANT_BUFFER = 0x4L,
  D3D11_BIND_SHADER_RESOURCE = 0x8L,
  D3D11_BIND_STREAM_OUTPUT = 0x10L,
  D3D11_BIND_RENDER_TARGET = 0x20L,
  D3D11_BIND_DEPTH_STENCIL = 0x40L,
  D3D11_BIND_UNORDERED_ACCESS = 0x80L,
  D3D11_BIND_DECODER = 0x200L,
  D3D11_BIND_VIDEO_ENCODER = 0x400L
} ;

Constantes

 
D3D11_BIND_VERTEX_BUFFER
Valeur : 0x1L
Liez une mémoire tampon en tant que tampon de vertex à l’étape d’assembleur d’entrée.
D3D11_BIND_INDEX_BUFFER
Valeur : 0x2L
Liez une mémoire tampon en tant que mémoire tampon d’index à la phase d’assembleur d’entrée.
D3D11_BIND_CONSTANT_BUFFER
Valeur : 0x4L
Lier une mémoire tampon en tant que mémoire tampon constante à une étape de nuanceur ; cet indicateur ne peut PAS être combiné avec un autre indicateur de liaison.
D3D11_BIND_SHADER_RESOURCE
Valeur : 0x8L
Lier une mémoire tampon ou une texture à une étape de nuanceur ; cet indicateur ne peut pas être utilisé avec l’indicateur D3D11_MAP_WRITE_NO_OVERWRITE .

Note Le runtime Direct3D 11.1, disponible à partir de Windows 8, permet de mapper des mémoires tampons constantes dynamiques et des vues de ressources de nuanceur (SRV) des mémoires tampons dynamiques avec D3D11_MAP_WRITE_NO_OVERWRITE. Les runtimes Direct3D 11 et antérieurs limitaient le mappage aux tampons de vertex ou d’index. Pour déterminer si un appareil Direct3D prend en charge ces fonctionnalités, appelez ID3D11Device::CheckFeatureSupport avec D3D11_FEATURE_D3D11_OPTIONS. CheckFeatureSupport remplit les membres d’une structure D3D11_FEATURE_DATA_D3D11_OPTIONS avec les fonctionnalités de l’appareil. Les membres concernés ici sont MapNoOverwriteOnDynamicConstantBuffer et MapNoOverwriteOnDynamicBufferSRV.

 
D3D11_BIND_STREAM_OUTPUT
Valeur : 0x10L
Liez une mémoire tampon de sortie pour l’étape flux-sortie.
D3D11_BIND_RENDER_TARGET
Valeur : 0x20L
Lier une texture en tant que cible de rendu pour l’étape de fusion de sortie.
D3D11_BIND_DEPTH_STENCIL
Valeur : 0x40L
Lier une texture en tant que cible de profondeur-gabarit pour l’étape de fusion de sortie.
D3D11_BIND_UNORDERED_ACCESS
Valeur : 0x80L
Lier une ressource d’accès non ordonnée .
D3D11_BIND_DECODER
Valeur : 0x200L
Définissez cet indicateur pour indiquer qu’une texture 2D est utilisée pour recevoir la sortie de l’API du décodeur. La méthode courante pour créer des ressources pour une sortie de décodeur consiste à appeler la méthode ID3D11Device::CreateTexture2D pour créer un tableau de textures 2D. Toutefois, vous ne pouvez pas utiliser les tableaux de textures créés avec cet indicateur dans les appels à ID3D11Device::CreateShaderResourceView.

Direct3D 11 : Cette valeur n’est pas prise en charge avant Direct3D 11.1.
D3D11_BIND_VIDEO_ENCODER
Valeur : 0x400L
Définissez cet indicateur pour indiquer qu’une texture 2D est utilisée pour recevoir des entrées de l’API d’encodeur vidéo. La façon courante de créer des ressources pour un encodeur vidéo consiste à appeler la méthode ID3D11Device::CreateTexture2D pour créer un tableau de textures 2D. Toutefois, vous ne pouvez pas utiliser les tableaux de textures créés avec cet indicateur dans les appels à ID3D11Device::CreateShaderResourceView.

Direct3D 11 : Cette valeur n’est pas prise en charge avant Direct3D 11.1.

Notes

En général, les indicateurs de liaison peuvent être combinés à l’aide d’un or au niveau du bit (à l’exception de l’indicateur de mémoire tampon constante) ; Toutefois, vous devez utiliser un seul indicateur pour permettre à l’appareil d’optimiser l’utilisation des ressources.

Cette énumération est utilisée par un :

Une mémoire tampon de ressource de nuanceur n’est PAS une mémoire tampon constante ; il s’agit plutôt d’une ressource de texture ou de mémoire tampon liée à un nuanceur, qui contient des données de texture ou de mémoire tampon (elle n’est pas limitée à un seul type d’élément dans la mémoire tampon). Une mémoire tampon nuanceur-ressource est créée avec l’indicateur D3D11_BIND_SHADER_RESOURCE et est liée au pipeline à l’aide de l’une de ces API : ID3D11DeviceContext::GSSetShaderResources, ID3D11DeviceContext::P SSetShaderResources, ou ID3D11DeviceContext::VSSetShaderResources. En outre, une mémoire tampon de ressource de nuanceur ne peut pas utiliser l’indicateur D3D11_MAP_WRITE_NO_OVERWRITE .
Note Le runtime Direct3D 11.1, disponible à partir de Windows 8, permet de mapper des mémoires tampons constantes dynamiques et des vues de ressources de nuanceur (SRV) des mémoires tampons dynamiques avec D3D11_MAP_WRITE_NO_OVERWRITE. Les runtimes Direct3D 11 et antérieurs limitaient le mappage aux tampons de vertex ou d’index. Pour déterminer si un appareil Direct3D prend en charge ces fonctionnalités, appelez ID3D11Device::CheckFeatureSupport avec D3D11_FEATURE_D3D11_OPTIONS. CheckFeatureSupport remplit les membres d’une structure D3D11_FEATURE_DATA_D3D11_OPTIONS avec les fonctionnalités de l’appareil. Les membres concernés ici sont MapNoOverwriteOnDynamicConstantBuffer et MapNoOverwriteOnDynamicBufferSRV.
 

Configuration requise

   
En-tête d3d11.h

Voir aussi

Énumérations de ressources