Skip to main content
Obtiene el tamaño y la alineación de la memoria necesaria para una colección de recursos en este adaptador.

Sintaxis

Parámetros

visibleMask [in]
Tipo: UINT
Para el funcionamiento con una sola GPU, establézcalo en cero. Si hay varios nodos de GPU, establezca los bits para identificar los nodos (los adaptadores físicos del dispositivo). Cada bit de la máscara corresponde a un único nodo. Consulte también Sistemas de varios adaptadores. numResourceDescs [in]
Tipo: UINT
El número de descriptores de recursos de la matriz pResourceDescs. pResourceDescs [in]
Tipo: const D3D12_RESOURCE_DESC*
Una matriz de estructuras D3D12_RESOURCE_DESC que describen los recursos sobre los que se obtendrá información.

Valor devuelto

Tipo: D3D12_RESOURCE_ALLOCATION_INFO Una estructura D3D12_RESOURCE_ALLOCATION_INFO que proporciona información sobre la memoria de vídeo asignada para la matriz de recursos especificada. Si se produce un error, D3D12_RESOURCE_ALLOCATION_INFO::SizeInBytes es igual a UINT64_MAX.

Comentarios

Cuando use CreatePlacedResource, su aplicación debe usar GetResourceAllocationInfo para conocer las características de tamaño y alineación de los recursos de textura. Los resultados de este método varían según el adaptador concreto, y deben tratarse como exclusivos de este adaptador y esta versión del controlador. Su aplicación no puede usar la salida de GetResourceAllocationInfo para conocer las propiedades de los mips empaquetados de las texturas. Para conocer las propiedades de los mips empaquetados de las texturas, su aplicación debe usar GetResourceTiling. Los tamaños de los recursos de textura difieren significativamente de la información que devuelve GetResourceTiling, porque algunas arquitecturas de adaptador asignan memoria adicional para las texturas con el fin de reducir el ancho de banda efectivo durante los escenarios de representación habituales. Esto incluye incluso las texturas que tienen restricciones en sus diseños de textura o que tienen diseños de textura estandarizados. Esa memoria adicional no puede asignarse de forma dispersa ni reasignarse por una aplicación mediante CreateReservedResource y UpdateTileMappings, por lo que GetResourceTiling no la notifica. Su aplicación puede prescindir de usar GetResourceAllocationInfo para los recursos de búfer (D3D12_RESOURCE_DIMENSION_BUFFER). Los búferes tienen el mismo tamaño en todos los adaptadores, que es simplemente el múltiplo más pequeño de 64 KB que sea mayor o igual que D3D12_RESOURCE_DESC::Width. Cuando se pasan varias descripciones de recursos, se usa el algoritmo de C++ para calcular el tamaño y la alineación de una estructura. Por ejemplo, una matriz de tres elementos con dos recursos diminutos alineados a 64 KB y un recurso diminuto alineado a 4 MB notifica tamaños diferentes según el orden de la matriz. Si el recurso alineado a 4 MB está en el medio, el valor Size resultante es 12 MB. De lo contrario, el valor Size resultante es 8 MB. El valor Alignment devuelto siempre sería 4 MB, porque es el superconjunto de todas las alineaciones de la matriz de recursos.

Requisitos

Encabezado: d3d12_xs.h o d3d12_x.h
Biblioteca: d3d12_xs.lib o d3d12_x.lib
Plataformas compatibles: consolas XBOX Series y familia XBOX One

Consulte también

ID3D12Device
Última modificación el 28 de agosto de 2026