> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GetResourceAllocationInfo1 (consolas XBOX Series)

> Obtiene información detallada sobre el tamaño y la alineación de la memoria necesaria para una colección de recursos en este adaptador. (ID3D12Device4::GetResourceAllocationInfo1)

Obtiene información detallada sobre el tamaño y la alineación de la memoria necesaria para una colección de recursos en este adaptador. Consulte también [ID3D12Device::GetResourceAllocationInfo](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourceallocationinfo_public).

Además del [D3D12\_RESOURCE\_ALLOCATION\_INFO](/reference/graphics/d3d12/structs/d3d12_resource_allocation_info_public) devuelto por el método, esta versión también devuelve una matriz de estructuras [D3D12\_RESOURCE\_ALLOCATION\_INFO1](/reference/graphics/d3d12/structs/d3d12_resource_allocation_info1_public), que proporcionan detalles adicionales para cada descripción de recurso pasada como entrada. Consulte el parámetro *pResourceAllocationInfo1*.

## Sintaxis

```cpp theme={null}
D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo1(
    UINT visibleMask,
    UINT numResourceDescs,
    const D3D12_RESOURCE_DESC  pResourceDescs,
    D3D12_RESOURCE_ALLOCATION_INFO1  pResourceAllocationInfo1
)
```

### Parámetros

*visibleMask \[in]*\
Tipo: UINT

Para el funcionamiento con una sola GPU, establézcalo en cero. Si hay varios nodos de GPU, establezca bits para identificar los nodos (los adaptadores físicos del dispositivo). Cada bit de la máscara corresponde a un solo nodo. Consulte también [Sistemas con varios adaptadores](https://learn.microsoft.com/en-us/windows/win32/direct3d12/multi-engine).

*numResourceDescs \[in]*\
Tipo: UINT

El número de descriptores de recursos de la matriz *pResourceDescs*. Este es también el tamaño (el número de elementos) de *pResourceAllocationInfo1*.

*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.

*pResourceAllocationInfo1 \[out]*\
Tipo: D3D12\_RESOURCE\_ALLOCATION\_INFO1 \*

Una matriz de estructuras [D3D12\_RESOURCE\_ALLOCATION\_INFO1](/reference/graphics/d3d12/structs/d3d12_resource_allocation_info1_public), que contiene detalles adicionales para cada descripción de recurso pasada como entrada. Esto hace que sea más sencillo para la aplicación asignar un montón para varios recursos, y sin calcular manualmente los desplazamientos en los que se debe colocar cada recurso.

### Valor devuelto

Tipo: D3D12\_RESOURCE\_ALLOCATION\_INFO

Una estructura [D3D12\_RESOURCE\_ALLOCATION\_INFO](/reference/graphics/d3d12/structs/d3d12_resource_allocation_info_public) que proporciona información sobre la memoria de vídeo asignada para la matriz de recursos especificada.

## Comentarios

Cuando use [CreatePlacedResource](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createplacedresource_public), la 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.

La 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, la aplicación debe usar [GetResourceTiling](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourcetiling_public).

Los tamaños de los recursos de textura difieren considerablemente de la información devuelta por **GetResourceTiling**, porque algunas arquitecturas de adaptador asignan memoria adicional para las texturas a fin de reducir el ancho de banda efectivo durante los escenarios de representación comunes. 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](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createreservedresource_public) y [UpdateTileMappings](/reference/graphics/d3d12/interfaces/id3d12commandqueue/methods/id3d12commandqueue_updatetilemappings_public), por lo que **GetResourceTiling** no la notifica.

La aplicación puede prescindir de usar **GetResourceAllocationInfo** para los recursos de búfer ([D3D12\_RESOURCE\_DIMENSION\_BUFFER](/reference/graphics/d3d12_x/enums/d3d12_resource_dimension)). 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](/reference/graphics/d3d12/structs/d3d12_resource_desc_public).

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 **Size** resultante es de 12 MB. De lo contrario, el **Size** resultante es de 8 MB. El valor de **Alignment** devuelto siempre sería de 4 MB, porque es el superconjunto de todas las alineaciones de la matriz de recursos.

## Requisitos

**Encabezado:** d3d12\_xs.h\
**Biblioteca:** d3d12\_xs.lib\
**Plataformas compatibles**: consolas XBOX Series

## Consulte también

[ID3D12Device4](/reference/graphics/d3d12/interfaces/id3d12device4/id3d12device4_public)


## Related topics

- [D3D12_RESOURCE_ALLOCATION_INFO1](/es/reference/graphics/d3d12/structs/d3d12_resource_allocation_info1_public.md)
- [D3D12_RESOURCE_ALLOCATION_INFO](/es/reference/graphics/d3d12/structs/d3d12_resource_allocation_info_public.md)
- [GetResourceAllocationInfo](/es/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourceallocationinfo_public.md)
- [DSTORAGE_QUEUE_INFO1](/es/reference/system/dstorage/structs/dstorage_queue_info1.md)
- [CreatePlacedResource2 (consolas XBOX Series)](/es/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createplacedresource2_public.md)
