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ó. Consulte também Sistemas com vários adaptadores. 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 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 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 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. 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 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 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.hBiblioteca: d3d12_xs.lib
Plataformas com suporte: consoles XBOX Series
