Pular para o conteúdo principal
Obtém o tamanho e o alinhamento da memória necessária para uma coleção de recursos neste adaptador.

Sintaxe

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ó. Confira também Sistemas com vários adaptadores. numResourceDescs [in]
Tipo: UINT
O número de descritores de recursos na matriz pResourceDescs. pResourceDescs [in]
Tipo: const D3D12_RESOURCE_DESC*
Uma matriz de estruturas D3D12_RESOURCE_DESC que descrevem os recursos sobre os quais obter informações.

Valor retornado

Tipo: D3D12_RESOURCE_ALLOCATION_INFO Uma estrutura D3D12_RESOURCE_ALLOCATION_INFO que fornece informações sobre a memória de vídeo alocada para a matriz de recursos especificada. Se ocorrer um erro, D3D12_RESOURCE_ALLOCATION_INFO::SizeInBytes será igual a UINT64_MAX.

Comentários

Ao usar CreatePlacedResource, 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 de 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. 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 durante cenários comuns de renderização. 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 e UpdateTileMappings, portanto, ela não é informada por GetResourceTiling. Seu aplicativo pode deixar de usar GetResourceAllocationInfo para recursos de buffer (D3D12_RESOURCE_DIMENSION_BUFFER). 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. Quando várias descrições de recursos são passadas, é usado o algoritmo do C++ para calcular o tamanho e o alinhamento de uma estrutura. Por exemplo, uma matriz de três elementos com dois recursos pequenos alinhados a 64 KB e um recurso pequeno 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á 12 MB. Caso contrário, o Size resultante será 8 MB. O Alignment retornado será sempre 4 MB, porque é o superconjunto de todos os alinhamentos na matriz de recursos.

Requisitos

Cabeçalho: d3d12_xs.h ou d3d12_x.h
Biblioteca: d3d12_xs.lib ou d3d12_x.lib
Plataformas com suporte: consoles XBOX Series e família XBOX One

Confira também

ID3D12Device
Última modificação em 6 de outubro de 2026