> ## 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 (XBOX Series 本体)

> このアダプター上のリソースのコレクションに必要なメモリのサイズとアラインメントに関する詳細な情報を取得します。(ID3D12Device4::GetResourceAllocationInfo1)

このアダプター上のリソースのコレクションに必要なメモリのサイズとアラインメントに関する詳細な情報を取得します。[ID3D12Device::GetResourceAllocationInfo](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourceallocationinfo_public) も参照してください。

このメソッドから返される [D3D12\_RESOURCE\_ALLOCATION\_INFO](/reference/graphics/d3d12/structs/d3d12_resource_allocation_info_public) に加えて、このバージョンでは [D3D12\_RESOURCE\_ALLOCATION\_INFO1](/reference/graphics/d3d12/structs/d3d12_resource_allocation_info1_public) 構造体の配列も返され、入力として渡された各リソース記述に対する追加の詳細を提供します。*pResourceAllocationInfo1* パラメーターを参照してください。

## 構文

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

### パラメーター

*visibleMask \[in]*\
型: UINT

シングル GPU 動作の場合は 0 に設定します。複数の GPU ノードがある場合は、ノード (デバイスの物理アダプター) を識別するビットを設定します。マスクの各ビットは 1 つのノードに対応します。[マルチアダプター システム](https://learn.microsoft.com/en-us/windows/win32/direct3d12/multi-engine) も参照してください。

*numResourceDescs \[in]*\
型: UINT

*pResourceDescs* 配列内のリソース記述子の数。これは *pResourceAllocationInfo1* のサイズ (要素数) でもあります。

*pResourceDescs \[in]*\
型: const D3D12\_RESOURCE\_DESC \*

情報を取得するリソースを記述する **D3D12\_RESOURCE\_DESC** 構造体の配列。

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

入力として渡された各リソース記述に対する追加の詳細を含む [D3D12\_RESOURCE\_ALLOCATION\_INFO1](/reference/graphics/d3d12/structs/d3d12_resource_allocation_info1_public) 構造体の配列。これにより、アプリケーションが複数のリソース用のヒープを、各リソースを配置する場所のオフセットを手動で計算することなく、簡単に割り当てることができます。

### 戻り値

型: D3D12\_RESOURCE\_ALLOCATION\_INFO

指定されたリソースの配列に割り当てられたビデオ メモリに関する情報を提供する [D3D12\_RESOURCE\_ALLOCATION\_INFO](/reference/graphics/d3d12/structs/d3d12_resource_allocation_info_public) 構造体。

## 解説

[CreatePlacedResource](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createplacedresource_public) を使用する場合、アプリケーションはテクスチャ リソースのサイズとアラインメントの特性を理解するために **GetResourceAllocationInfo** を使用する必要があります。このメソッドの結果は特定のアダプターによって異なり、このアダプターおよびドライバー バージョンに固有のものとして扱う必要があります。

アプリケーションは **GetResourceAllocationInfo** の出力を使用してテクスチャのパック済みミップのプロパティを理解することはできません。テクスチャのパック済みミップのプロパティを理解するには、アプリケーションは [GetResourceTiling](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourcetiling_public) を使用する必要があります。

テクスチャ リソースのサイズは、**GetResourceTiling** から返される情報とは大きく異なります。これは、一部のアダプター アーキテクチャが一般的なレンダリング シナリオ中の有効な帯域幅を減らすためにテクスチャに追加のメモリを割り当てるためです。これには、テクスチャ レイアウトに制約があるテクスチャや、標準化されたテクスチャ レイアウトを持つテクスチャも含まれます。その追加のメモリは、[CreateReservedResource](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createreservedresource_public) および [UpdateTileMappings](/reference/graphics/d3d12/interfaces/id3d12commandqueue/methods/id3d12commandqueue_updatetilemappings_public) を使用するアプリケーションによってスパースにマップまたは再マップすることはできず、**GetResourceTiling** では報告されません。

アプリケーションは、バッファー リソース ([D3D12\_RESOURCE\_DIMENSION\_BUFFER](/reference/graphics/d3d12_x/enums/d3d12_resource_dimension)) に対しては **GetResourceAllocationInfo** の使用を省略できます。バッファーはすべてのアダプター上で同じサイズを持ち、これは [D3D12\_RESOURCE\_DESC::Width](/reference/graphics/d3d12/structs/d3d12_resource_desc_public) 以上の 64 KB の最小の倍数に過ぎません。

複数のリソース記述が渡される場合、構造体のサイズとアラインメントを計算するための C++ アルゴリズムが使用されます。たとえば、2 つの小さな 64 KB アラインメントのリソースと 1 つの小さな 4 MB アラインメントのリソースからなる 3 要素配列は、配列の順序に応じて異なるサイズを報告します。4 MB アラインメントのリソースが真ん中にある場合、結果として得られる **Size** は 12 MB です。それ以外の場合、結果として得られる **Size** は 8 MB です。返される **Alignment** は常に 4 MB になります。これは、リソース配列内のすべてのアラインメントのスーパーセットであるためです。

## 要件

**ヘッダー:** d3d12\_xs.h\
**ライブラリ:** d3d12\_xs.lib\
**サポートされるプラットフォーム**: XBOX Series 本体

## 関連項目

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


## Related topics

- [D3D12_RESOURCE_ALLOCATION_INFO1](/ja-jp/reference/graphics/d3d12/structs/d3d12_resource_allocation_info1_public.md)
- [D3D12_RESOURCE_ALLOCATION_INFO](/ja-jp/reference/graphics/d3d12/structs/d3d12_resource_allocation_info_public.md)
- [GetResourceAllocationInfo](/ja-jp/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourceallocationinfo_public.md)
- [DSTORAGE_QUEUE_INFO1](/ja-jp/reference/system/dstorage/structs/dstorage_queue_info1.md)
- [XMEM_ALLOCATION_HOOKS](/ja-jp/reference/system/xmem/structs/xmem_allocation_hooks.md)
