Skip to main content
Obtém o tamanho e o alinhamento da memória necessária para uma coleção de recursos neste adaptador. Essa API recebe como entrada estruturas D3D12_RESOURCE_DESC1, o que a torna adequada para calcular o tamanho de recursos de mapa de feedback.

Sintaxe

Parâmetros

visibleMask   
Tipo: UINT
No XBOX, defina como zero. numResourceDescs   
Tipo: UINT
O número de descritores de recursos na matriz pResourceDescs. pResourceDescs   _In_reads_(numResourceDescs)
Tipo: D3D12_RESOURCE_DESC1*
Uma matriz de estruturas D3D12_RESOURCE_DESC1 que descrevem os recursos sobre os quais obter informações. pResourceAllocationInfo1   _Out_writes_opt_(numResourceDescs)
Tipo: D3D12_RESOURCE_ALLOCATION_INFO1*
Uma matriz de estruturas D3D12_RESOURCE_ALLOCATION_INFO1 que será preenchida com as informações de alocação de recursos de cada recurso individual referenciado pela matriz de entrada pResourceDescs.

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.

Comentários

Ao usar CreatePlacedResource, seu aplicativo deve usar GetResourceAllocationInfo para conhecer as características de tamanho e alinhamento dos recursos de textura. Os resultados desse método variam de acordo com o adaptador específico e devem ser tratados como exclusivos desse adaptador e dessa versão de driver. Seu aplicativo não pode usar a saída de GetResourceAllocationInfo para conhecer as propriedades de mips compactados das texturas. Para conhecer as propriedades de mips compactados 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 esparsamente nem remapeada por um aplicativo usando CreateReservedResource e UpdateTileMappings, portanto ela não é relatada por GetResourceTiling. Seu aplicativo pode dispensar o uso de 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, o algoritmo do C++ para calcular o tamanho e o alinhamento de uma estrutura é usado. 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 relata 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, pois é o superconjunto de todos os alinhamentos na matriz de recursos.

Requisitos

Cabeçalho: d3d12_xs.h Biblioteca: d3d12_xs.lib
Plataformas compatíveis: consoles XBOX Series

Confira também

Visão geral da API Sampler Feedback do Direct3D 12 ID3D12Device8
Last modified on October 6, 2026