Método ID3D12Device4::GetResourceAllocationInfo1(UINT,UINT,constD3D12_RESOURCE_DESC*,D3D12_RESOURCE_ALLOCATION_INFO1*) (d3d12.h)
Obtiene información enriquecida sobre el tamaño y la alineación de la memoria necesaria para una colección de recursos en este adaptador. Vea también ID3D12Device::GetResourceAllocationInfo.
Además de la D3D12_RESOURCE_ALLOCATION_INFO devuelta desde el método , esta versión también devuelve una matriz de estructuras de D3D12_RESOURCE_ALLOCATION_INFO1, que proporcionan detalles adicionales para cada descripción del recurso que se pasa como entrada. Consulte el parámetro pResourceAllocationInfo1.
Sintaxis
D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo1(
[in] UINT visibleMask,
[in] UINT numResourceDescs,
[in] const D3D12_RESOURCE_DESC *pResourceDescs,
[out] D3D12_RESOURCE_ALLOCATION_INFO1 *pResourceAllocationInfo1
);
Parámetros
[in] visibleMask
Tipo: UINT de
Para la operación de gpu única, establézcalo en cero. Si hay varios nodos de GPU, establezca bits para identificar los nodos (adaptadores físicos del dispositivo). Cada bit de la máscara corresponde a un único nodo. Consulte también sistemas de varios adaptadores.
[in] numResourceDescs
Tipo: UINT de
Número de descriptores de recursos de la matriz de pResourceDescs. Este es también el tamaño (el número de elementos de) pResourceAllocationInfo1.
[in] pResourceDescs
Tipo: const D3D12_RESOURCE_DESC*
Matriz de estructuras de D3D12_RESOURCE_DESC que describen los recursos para obtener información.
[out] pResourceAllocationInfo1
Tipo: D3D12_RESOURCE_ALLOCATION_INFO1*
Matriz de estructuras de D3D12_RESOURCE_ALLOCATION_INFO1, que contiene detalles adicionales para cada descripción del recurso que se pasa como entrada. Esto facilita que la aplicación asigne un montón para varios recursos y sin calcular manualmente los desplazamientos para dónde se debe colocar cada recurso.
Valor devuelto
Tipo: D3D12_RESOURCE_ALLOCATION_INFO
Estructura D3D12_RESOURCE_ALLOCATION_INFO que proporciona información sobre la memoria de vídeo asignada para la matriz de recursos especificada.
Observaciones
Al usar CreatePlacedResource, la aplicación debe usar GetResourceAllocationInfo para comprender las características de tamaño y alineación de los recursos de textura. Los resultados de este método varían en función del adaptador concreto y deben tratarse como únicos para este adaptador y la versión del controlador.
La aplicación no puede usar la salida de GetResourceAllocationInfo para comprender las propiedades mip empaquetadas de texturas. Para comprender las propiedades mip empaquetadas de texturas, la aplicación debe usar GetResourceTiling.
Los tamaños de recursos de textura difieren significativamente de la información devuelta por GetResourceTiling, ya que algunas arquitecturas de adaptador asignan memoria adicional para las texturas para reducir el ancho de banda efectivo durante escenarios comunes de representación. Esto incluye incluso texturas que tienen restricciones en sus diseños de textura o tienen diseños de textura estandarizados. Esa memoria adicional no se puede asignar ni reasignar de forma dispersa mediante una aplicación mediante CreateReservedResource y UpdateTileMappings, por lo que no se notifica mediante GetResourceTiling.
La aplicación puede forgo mediante 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 mayor o igual que D3D12_RESOURCE_DESC::Width.
Cuando se pasan varias descripciones de recursos, se usa el algoritmo de C++ para calcular un tamaño de estructura y una alineación. Por ejemplo, una matriz de tres elementos con dos pequeños recursos alineados con 64 KB y un pequeño recurso alineado con 4 MB, informa de tamaños diferentes en función del orden de la matriz. Si el recurso alineado de 4 MB está en el medio, el Tamaño resultante es de 12 MB. De lo contrario, el tamaño de
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Compilación 20348 de Windows 10 |
servidor mínimo admitido | Compilación 20348 de Windows 10 |
de la plataforma de destino de |
Windows |
encabezado de |
d3d12.h |
biblioteca de |
d3d12.lib |
DLL de |
d3d12.dll |