> ## 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. Voir aussi [ID3D12Device::GetResourceAllocationInfo](/fr/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourceallocationinfo_public).

En plus de la structure [D3D12\_RESOURCE\_ALLOCATION\_INFO](/fr/reference/graphics/d3d12/structs/d3d12_resource_allocation_info_public) renvoyée par la méthode, cette version renvoie également un tableau de structures [D3D12\_RESOURCE\_ALLOCATION\_INFO1](/fr/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 sur zéro. S'il existe plusieurs nœuds GPU, définissez des bits pour identifier les nœuds (les adaptateurs physiques de l'appareil). Chaque bit du masque correspond à un seul nœud. Voir aussi [Systèmes multi-adaptateurs](https://learn.microsoft.com/en-us/windows/win32/direct3d12/multi-engine).

*numResourceDescs \[in]*\
Type : UINT

Nombre de descripteurs de ressource 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 \*

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

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

Tableau de structures [D3D12\_RESOURCE\_ALLOCATION\_INFO1](/fr/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 renvoyée

Type : D3D12\_RESOURCE\_ALLOCATION\_INFO

Structure [D3D12\_RESOURCE\_ALLOCATION\_INFO](/fr/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/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 concerné 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 empaquetés des textures. Pour connaître les propriétés des mips empaquetés des textures, votre application doit utiliser [GetResourceTiling](/fr/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourcetiling_public).

La taille des ressources de texture diffère considérablement des informations renvoyé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 dans les scénarios de rendu courants. Cela inclut même les textures dont les dispositions sont soumises à des contraintes 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/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createreservedresource_public) et [UpdateTileMappings](/fr/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 type tampon ([D3D12\_RESOURCE\_DIMENSION\_BUFFER](/fr/reference/graphics/d3d12_x/enums/d3d12_resource_dimension)). Les tampons ont la même taille sur tous les adaptateurs, à savoir simplement le plus petit multiple de 64 Ko supérieur ou égal à [D3D12\_RESOURCE\_DESC::Width](/fr/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 comportant deux petites ressources alignées sur 64 Ko et une petite ressource alignée sur 4 Mo signale 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** renvoyée est toujours de 4 Mo, car il s'agit du sur-ensemble 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/reference/graphics/d3d12/interfaces/id3d12device4/id3d12device4_public)


## Related topics

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