structure D3D11_SUBRESOURCE_DATA (d3d11.h)

Spécifie les données d’initialisation d’une sous-ressource.

Syntaxe

typedef struct D3D11_SUBRESOURCE_DATA {
  const void *pSysMem;
  UINT       SysMemPitch;
  UINT       SysMemSlicePitch;
} D3D11_SUBRESOURCE_DATA;

Membres

pSysMem

Type : const void*

Pointeur vers les données d’initialisation.

SysMemPitch

Type : UINT

Distance (en octets) entre le début d’une ligne d’une texture et la ligne suivante.
Le pitch de la mémoire système est utilisé uniquement pour les données de texture 2D et 3D, car il n’a aucune signification pour les autres types de ressources. Spécifiez la distance entre le premier pixel d’une tranche 2D d’une texture 3D et le premier pixel de la tranche 2D suivante de cette texture dans le membre SysMemSlicePitch .

SysMemSlicePitch

Type : UINT

Distance (en octets) entre le début d’un niveau de profondeur et le suivant.
Le pitch de tranche de mémoire système est utilisé uniquement pour les données de texture 3D, car il n’a aucune signification pour les autres types de ressources.

Remarques

Cette structure est utilisée dans les appels pour créer des mémoires tampons (ID3D11Device ::CreateBuffer) et des textures (ID3D11Device ::CreateTexture1D, ID3D11Device ::CreateTexture2D et ID3D11Device ::CreateTexture3D). Si la ressource que vous créez n’a pas besoin d’un pitch de mémoire système ou d’un pitch de tranche de mémoire système, vous pouvez utiliser ces membres pour transmettre des informations de taille, ce qui peut vous aider lorsque vous déboguez un problème lors de la création d’une ressource.

Une sous-ressource est une surface de niveau mipmap unique. Vous pouvez passer un tableau de sous-ressources à l’une des méthodes précédentes pour créer la ressource. Une sous-ressource peut être 1D, 2D ou 3D. La façon dont vous définissez les membres de D3D11_SUBRESOURCE_DATA varie selon que la sous-ressource est 1D, 2D ou 3D.

Les valeurs x, y et d sont des index de base 0 et BytesPerPixel dépend du format de pixel. Pour les surfaces 3D mipmapped, le nombre de tranches de profondeur dans chaque niveau est la moitié du nombre du niveau précédent (minimum 1) et arrondi vers le bas si la division par deux aboutit à un nombre non entier.

Note Une application ne doit pas compter sur sysMemPitch exactement égal au nombre de texels dans une ligne fois la taille d’un texel. Dans certains cas, SysMemPitch inclut le remplissage pour ignorer les données supplémentaires dans une ligne. Il peut s’agir d’un remplissage pour l’alignement ou d’une sous-section d’une texture plus grande. Par exemple, la structure D3D11_SUBRESOURCE_DATA peut représenter une sous-section 32 par 32 d’une texture 128 par 128. La valeur de SysMemSlicePitch reflète tout remplissage inclus dans SysMemPitch.
 

Configuration requise

Condition requise Valeur
En-tête d3d11.h

Voir aussi

Structures de ressources