> ## 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)

> Obtém informações detalhadas sobre o tamanho e o alinhamento da memória necessária para uma coleção de recursos neste adaptador. (ID3D12Device4::GetResourceAllocationInfo1)

Obtém informações detalhadas sobre o tamanho e o alinhamento da memória necessária para uma coleção de recursos neste adaptador. Consulte também [ID3D12Device::GetResourceAllocationInfo](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourceallocationinfo_public).

Além da [D3D12\_RESOURCE\_ALLOCATION\_INFO](/pt-BR/reference/graphics/d3d12/structs/d3d12_resource_allocation_info_public) retornada pelo método, esta versão também retorna uma matriz de estruturas [D3D12\_RESOURCE\_ALLOCATION\_INFO1](/pt-BR/reference/graphics/d3d12/structs/d3d12_resource_allocation_info1_public), que fornecem detalhes adicionais para cada descrição de recurso passada como entrada. Consulte o parâmetro *pResourceAllocationInfo1*.

## Sintaxe

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

### Parâmetros

*visibleMask \[in]*\
Tipo: UINT

Para operação com uma única GPU, defina como zero. Se houver vários nós de GPU, defina bits para identificar os nós (os adaptadores físicos do dispositivo). Cada bit na máscara corresponde a um único nó. Consulte também [Sistemas com vários adaptadores](https://learn.microsoft.com/en-us/windows/win32/direct3d12/multi-engine).

*numResourceDescs \[in]*\
Tipo: UINT

O número de descritores de recurso na matriz *pResourceDescs*. Esse também é o tamanho (o número de elementos) de *pResourceAllocationInfo1*.

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

Uma matriz de estruturas **D3D12\_RESOURCE\_DESC** que descrevem os recursos sobre os quais obter informações.

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

Uma matriz de estruturas [D3D12\_RESOURCE\_ALLOCATION\_INFO1](/pt-BR/reference/graphics/d3d12/structs/d3d12_resource_allocation_info1_public) que contém detalhes adicionais para cada descrição de recurso passada como entrada. Isso facilita para seu aplicativo alocar um heap para vários recursos, sem precisar calcular manualmente os deslocamentos de onde cada recurso deve ser posicionado.

### Valor retornado

Tipo: D3D12\_RESOURCE\_ALLOCATION\_INFO

Uma estrutura [D3D12\_RESOURCE\_ALLOCATION\_INFO](/pt-BR/reference/graphics/d3d12/structs/d3d12_resource_allocation_info_public) que fornece informações sobre a memória de vídeo alocada para a matriz de recursos especificada.

## Comentários

Ao usar [CreatePlacedResource](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createplacedresource_public), seu aplicativo deve usar **GetResourceAllocationInfo** para entender as características de tamanho e alinhamento dos recursos de textura. Os resultados deste método variam de acordo com o adaptador específico e devem ser tratados como exclusivos deste adaptador e desta versão do driver.

Seu aplicativo não pode usar a saída de **GetResourceAllocationInfo** para entender as propriedades de mips empacotados das texturas. Para entender as propriedades de mips empacotados das texturas, seu aplicativo deve usar [GetResourceTiling](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourcetiling_public).

Os tamanhos dos recursos de textura diferem significativamente das informações retornadas por **GetResourceTiling**, porque algumas arquiteturas de adaptador alocam memória extra para texturas a fim de reduzir a largura de banda efetiva em cenários de renderização comuns. Isso inclui até mesmo texturas que têm restrições em seus layouts de textura ou que têm layouts de textura padronizados. Essa memória extra não pode ser mapeada de forma esparsa nem remapeada por um aplicativo usando [CreateReservedResource](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createreservedresource_public) e [UpdateTileMappings](/pt-BR/reference/graphics/d3d12/interfaces/id3d12commandqueue/methods/id3d12commandqueue_updatetilemappings_public), portanto, ela não é informada por **GetResourceTiling**.

Seu aplicativo pode deixar de usar **GetResourceAllocationInfo** para recursos de buffer ([D3D12\_RESOURCE\_DIMENSION\_BUFFER](/pt-BR/reference/graphics/d3d12_x/enums/d3d12_resource_dimension)). Os buffers têm o mesmo tamanho em todos os adaptadores, que é simplesmente o menor múltiplo de 64 KB maior ou igual a [D3D12\_RESOURCE\_DESC::Width](/pt-BR/reference/graphics/d3d12/structs/d3d12_resource_desc_public).

Quando várias descrições de recurso são passadas, é usado o algoritmo C++ para calcular o tamanho e o alinhamento de uma estrutura. Por exemplo, uma matriz de três elementos com dois recursos minúsculos alinhados a 64 KB e um recurso minúsculo alinhado a 4 MB informa tamanhos diferentes com base na ordem da matriz. Se o recurso alinhado a 4 MB estiver no meio, o **Size** resultante será de 12 MB. Caso contrário, o **Size** resultante será de 8 MB. O **Alignment** retornado sempre seria de 4 MB, porque é o superconjunto de todos os alinhamentos na matriz de recursos.

## Requisitos

**Cabeçalho:** d3d12\_xs.h\
**Biblioteca:** d3d12\_xs.lib\
**Plataformas com suporte**: consoles XBOX Series

## Consulte também

[ID3D12Device4](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device4/id3d12device4_public)


## Related topics

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