> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GetResourceAllocationInfo1 (consoles XBOX Series)

> Obtient des informations détaillées sur la taille et l'alignement de la mémoire requise pour une collection de ressources sur cet adaptateur. (ID3D12Device4::GetResourceAllocationInfo1)

Obtient des informations détaillées sur la taille et l'alignement de la mémoire requise pour une collection de ressources sur cet adaptateur. Consultez aussi [ID3D12Device::GetResourceAllocationInfo](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourceallocationinfo_public).

En plus de la structure [D3D12\_RESOURCE\_ALLOCATION\_INFO](/fr-CA/reference/graphics/d3d12/structs/d3d12_resource_allocation_info_public) retournée par la méthode, cette version retourne également un tableau de structures [D3D12\_RESOURCE\_ALLOCATION\_INFO1](/fr-CA/reference/graphics/d3d12/structs/d3d12_resource_allocation_info1_public), qui fournissent des détails supplémentaires pour chaque description de ressource passée en entrée. Consultez le paramètre *pResourceAllocationInfo1*.

## Syntaxe

```cpp theme={null}
D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo1(
    UINT visibleMask,
    UINT numResourceDescs,
    const D3D12_RESOURCE_DESC  pResourceDescs,
    D3D12_RESOURCE_ALLOCATION_INFO1  pResourceAllocationInfo1
)
```

### Paramètres

*visibleMask \[in]*\
Type : UINT

Pour un fonctionnement avec un seul GPU, définissez cette valeur à zéro. S'il y a plusieurs nœuds GPU, définissez des bits pour identifier les nœuds (les adaptateurs physiques du périphérique). Chaque bit du masque correspond à un seul nœud. Consultez aussi [Systèmes multiadaptateurs](https://learn.microsoft.com/en-us/windows/win32/direct3d12/multi-engine).

*numResourceDescs \[in]*\
Type : UINT

Le nombre de descripteurs de ressources dans le tableau *pResourceDescs*. Il s'agit également de la taille (le nombre d'éléments) de *pResourceAllocationInfo1*.

*pResourceDescs \[in]*\
Type : const D3D12\_RESOURCE\_DESC \*

Un tableau de structures **D3D12\_RESOURCE\_DESC** qui décrivent les ressources sur lesquelles obtenir des informations.

*pResourceAllocationInfo1 \[out]*\
Type : D3D12\_RESOURCE\_ALLOCATION\_INFO1 \*

Un tableau de structures [D3D12\_RESOURCE\_ALLOCATION\_INFO1](/fr-CA/reference/graphics/d3d12/structs/d3d12_resource_allocation_info1_public) contenant des détails supplémentaires pour chaque description de ressource passée en entrée. Cela permet à votre application d'allouer plus simplement un tas pour plusieurs ressources, sans calculer manuellement les décalages indiquant où chaque ressource doit être placée.

### Valeur de retour

Type : D3D12\_RESOURCE\_ALLOCATION\_INFO

Une structure [D3D12\_RESOURCE\_ALLOCATION\_INFO](/fr-CA/reference/graphics/d3d12/structs/d3d12_resource_allocation_info_public) qui fournit des informations sur la mémoire vidéo allouée pour le tableau de ressources spécifié.

## Remarques

Lorsque vous utilisez [CreatePlacedResource](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createplacedresource_public), votre application doit utiliser **GetResourceAllocationInfo** afin de connaître les caractéristiques de taille et d'alignement des ressources de texture. Les résultats de cette méthode varient selon l'adaptateur et doivent être considérés comme propres à cet adaptateur et à cette version de pilote.

Votre application ne peut pas utiliser la sortie de **GetResourceAllocationInfo** pour connaître les propriétés des mips compactés des textures. Pour connaître les propriétés des mips compactés des textures, votre application doit utiliser [GetResourceTiling](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourcetiling_public).

La taille des ressources de texture diffère considérablement des informations retournées par **GetResourceTiling**, car certaines architectures d'adaptateur allouent de la mémoire supplémentaire aux textures afin de réduire la bande passante effective lors des scénarios de rendu courants. Cela inclut même les textures qui ont des contraintes sur leur disposition ou qui ont des dispositions de texture standardisées. Cette mémoire supplémentaire ne peut être ni mappée de façon éparse ni remappée par une application à l'aide de [CreateReservedResource](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createreservedresource_public) et [UpdateTileMappings](/fr-CA/reference/graphics/d3d12/interfaces/id3d12commandqueue/methods/id3d12commandqueue_updatetilemappings_public); elle n'est donc pas signalée par **GetResourceTiling**.

Votre application peut se passer de **GetResourceAllocationInfo** pour les ressources de tampon ([D3D12\_RESOURCE\_DIMENSION\_BUFFER](/fr-CA/reference/graphics/d3d12_x/enums/d3d12_resource_dimension)). Les tampons ont la même taille sur tous les adaptateurs, soit simplement le plus petit multiple de 64 Ko supérieur ou égal à [D3D12\_RESOURCE\_DESC::Width](/fr-CA/reference/graphics/d3d12/structs/d3d12_resource_desc_public).

Lorsque plusieurs descriptions de ressources sont passées, l'algorithme C++ de calcul de la taille et de l'alignement d'une structure est utilisé. Par exemple, un tableau de trois éléments contenant deux petites ressources alignées sur 64 Ko et une petite ressource alignée sur 4 Mo indique des tailles différentes selon l'ordre du tableau. Si la ressource alignée sur 4 Mo se trouve au milieu, la valeur **Size** obtenue est de 12 Mo. Sinon, la valeur **Size** obtenue est de 8 Mo. La valeur **Alignment** retournée est toujours de 4 Mo, car il s'agit du surensemble de tous les alignements du tableau de ressources.

## Configuration requise

**En-tête :** d3d12\_xs.h\
**Bibliothèque :** d3d12\_xs.lib\
**Plateformes prises en charge :** consoles XBOX Series

## Voir aussi

[ID3D12Device4](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device4/id3d12device4_public)


## Related topics

- [D3D12_RESOURCE_ALLOCATION_INFO1](/fr-CA/reference/graphics/d3d12/structs/d3d12_resource_allocation_info1_public.md)
- [D3D12_RESOURCE_ALLOCATION_INFO](/fr-CA/reference/graphics/d3d12/structs/d3d12_resource_allocation_info_public.md)
- [GetResourceAllocationInfo](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourceallocationinfo_public.md)
- [DSTORAGE_QUEUE_INFO1](/fr-CA/reference/system/dstorage/structs/dstorage_queue_info1.md)
- [CreatePlacedResource2 (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createplacedresource2_public.md)
