Passer au contenu principal
Obtient une disposition de ressource pouvant être copiée. Aide l’application à renseigner D3D12_PLACED_SUBRESOURCE_FOOTPRINT et D3D12_SUBRESOURCE_FOOTPRINT lors de la sous-allocation d’espace dans les tas de chargement.

Syntaxe

Paramètres

pResourceDesc [in]
Type : const D3D12_RESOURCE_DESC *
Description de la ressource, sous la forme d’un pointeur vers une structure D3D12_RESOURCE_DESC. FirstSubresource [in]
Type : UINT
Index de la première sous-ressource de la ressource. La plage de valeurs valides va de 0 à D3D12_REQ_SUBRESOURCES. NumSubresources [in]
Type : UINT
Nombre de sous-ressources de la ressource. La plage de valeurs valides va de 0 à (D3D12_REQ_SUBRESOURCES - FirstSubresource). BaseOffset
Type : UINT64
Décalage, en octets, de la ressource. pLayouts [out, optional]
Type : D3D12_PLACED_SUBRESOURCE_FOOTPRINT *
Pointeur vers un tableau (de longueur NumSubresources) de structures D3D12_PLACED_SUBRESOURCE_FOOTPRINT, à remplir avec la description et le placement de chaque sous-ressource. pNumRows [out, optional]
Type : UINT *
Pointeur vers un tableau (de longueur NumSubresources) de variables entières, à remplir avec le nombre de lignes de chaque sous-ressource. pRowSizeInBytes [out, optional]
Type : UINT64 *
Pointeur vers un tableau (de longueur NumSubresources) de variables entières, chaque entrée devant être remplie avec la taille sans remplissage, en octets, d’une ligne de chaque sous-ressource. Par exemple, si une ressource Texture2D a une largeur de 32 et 4 octets par pixel, pRowSizeInBytes retourne 128. pRowSizeInBytes ne doit pas être confondu avec le pas de ligne (row pitch) : en examinant pLayouts et en obtenant le pas de ligne à partir de celui-ci, vous obtiendrez 256, car il est aligné sur D3D12_TEXTURE_DATA_PITCH_ALIGNMENT. pTotalBytes [out, optional]
Type : UINT64 *
Pointeur vers une variable entière, à remplir avec la taille totale, en octets. 

Valeur de retour

Type : void Aucune.

Remarques

Cette routine aide l’application à renseigner les structures D3D12_PLACED_SUBRESOURCE_FOOTPRINT et D3D12_SUBRESOURCE_FOOTPRINT lors de la sous-allocation d’espace dans les tas de chargement. Les structures obtenues sont indépendantes de l’adaptateur GPU, ce qui signifie que les valeurs ne varient pas d’un adaptateur GPU à l’autre. GetCopyableFootprints utilise les détails spécifiés concernant les formats de ressource, les dispositions de texture et les exigences d’alignement (provenant de la structure D3D12_RESOURCE_DESC) pour renseigner les structures de sous-ressources. Les applications ont accès à tous ces détails ; cette méthode, ou une variante, pourrait donc être écrite au sein de l’application.

Exemples

L’exemple D3D12Multithreading utilise ID3D12Device::GetCopyableFootprints comme suit :
Reportez-vous à Exemple de code dans la référence D3D12.

Configuration requise

En-tête : d3d12_xs.h ou d3d12_x.h
Bibliothèque : d3d12_xs.lib ou d3d12_x.lib
Plateformes prises en charge : consoles XBOX Series et famille XBOX One

Voir aussi

CD3DX12_RESOURCE_DESC CD3DX12_SUBRESOURCE_FOOTPRINT ID3D12Device
Dernière modification le 6 octobre 2026