Share via


タイル化されたリソースの作成

タイル リソースは、リソースの作成時に D3D11_RESOURCE_MISC_TILED フラグを指定して作成されます。

D3D11_RESOURCE_MISC_TILEDを使用してリソースを作成できる場合の制限については、「タイル 化されたリソース作成パラメーター」を参照してください。

タイル化されていないリソースのストレージは、リソースの作成時にグラフィックス システムに割り当てられます。 たとえば、 ID3D11Device::CreateTexture2D を呼び出して 2D テクスチャの配列を作成すると、グラフィックス システムはこれらの 2D テクスチャにストレージを割り当てます。 タイル化されたリソースが作成されると、グラフィックス システムはリソースの内容にストレージを割り当てません。 代わりに、アプリケーションがタイルリソースを作成すると、グラフィックス システムはタイルサーフェスの領域に対してのみアドレス空間の予約を行い、タイルのマッピングをアプリケーションによって制御できるようにします。 タイルの「マッピング」とは、リソース内の論理タイルがポイントするメモリ内の物理的な位置 (またはマップされていないタイルの場合はNULL) です。 この概念を、Direct3D リソースを CPU アクセス用にマッピングするという概念と混同しないでください。これは同じ名前を使用していますが、全く別のものです。 必要に応じて、個々のタイルのマッピングを個別に定義して変更することができます。サーフェスのすべてのタイルを一度にマップする必要がないため、使用可能なメモリ量を有効に活用できます。

このセクションでは、タイル化されたリソースを作成する方法について詳しく説明します。

このセクションの内容

トピック 説明
タイル プールにマッピングされます
D3D11_RESOURCE_MISC_TILED フラグを使用してリソースが作成されると、リソースを構成するタイルはタイル プール内の場所を指すようになります。 タイル プールは、メモリのプールです (背後にある 1 つ以上の割り当てによってサポートされていますが、アプリケーションには見えません)。
タイル リソース作成パラメーター
D3D11_RESOURCE_MISC_TILED フラグを使用して作成できる Direct3D リソースの種類にはいくつかの制約があります。 このセクションでは、タイル化されたリソースを作成するための有効なパラメーターを提供します。
タイル化されたリソースで使用できるアドレス空間
このセクションでは、タイルリソースで使用できる仮想アドレス空間を指定します。
タイル プールの作成パラメーター
ID3D11Device::CreateBuffer API を使用してタイル プールを定義するには、このセクションのパラメーターを使用します。
タイルリソースクロスプロセスとデバイス共有
タイル プールは、従来のリソースと同様に、他のプロセスと共有することができます。 タイル プールを参照するタイル リソースは、デバイスとプロセス間で共有することはできません。 ただし、個別のプロセスでは、タイル化されたリソース間で共有されるタイル プールにマップされる独自のタイル リソースを作成できます。
タイル化されたリソースで使用できる操作
このセクションでは、タイルリソースに対して実行できる操作の一覧を示します。
タイル プールで利用可能な操作
このセクションでは、タイル プールに対して実行できる操作の一覧を示します。
タイル化されたリソースの領域を並べて表示する方法
タイル リソースを作成する場合、ディメンション、書式要素のサイズ、ミップマップや配列スライスの数 (該当する場合) によって、サーフェス領域全体をバックアップするために必要なタイルの数が決まります。

タイル化されたリソース