ID3D11DeviceContext2::TiledResourceBarrier メソッド (d3d11_2.h)
複数のタイル リソース間のデータ アクセス順序の制約を指定します。 この制約の詳細については、「解説」を参照してください。
構文
void TiledResourceBarrier(
[in, optional] ID3D11DeviceChild *pTiledResourceOrViewAccessBeforeBarrier,
[in, optional] ID3D11DeviceChild *pTiledResourceOrViewAccessAfterBarrier
);
パラメーター
[in, optional] pTiledResourceOrViewAccessBeforeBarrier
種類: ID3D11DeviceChild*
D3D11_RESOURCE_MISC_TILED フラグを使用して作成されたリソースの ID3D11Resource または ID3D11View へのポインター。 このオブジェクトに対するアクセス操作は、 pTiledResourceOrViewAccessAfterBarrier が指定するオブジェクトに対するアクセス操作の前に完了する必要があります。
[in, optional] pTiledResourceOrViewAccessAfterBarrier
種類: ID3D11DeviceChild*
D3D11_RESOURCE_MISC_TILED フラグを使用して作成されたリソースの ID3D11Resource または ID3D11View へのポインター。 このオブジェクトに対するアクセス操作は、 pTiledResourceOrViewAccessBeforeBarrier が指定するオブジェクトに対するアクセス操作の後に開始する必要があります。
戻り値
なし
解説
アプリでは、タイル化されたリソースを使用して、さまざまなリソース内のタイルを再利用できます。 ただし、レンダリングしたばかりのタイル プール内のメモリが読み取りに使用されているかどうかを、デバイスとドライバーが判断できない場合があります。
たとえば、1 つのタイル リソースを含むタイル プール内の一部のタイルにアプリをレンダリングした後、別のタイル リソースを使用して同じタイルから読み取ることができます。 これらのタイル リソース操作は、1 つのリソースの使用とは異なり、 ID3D11RenderTargetView を使用した書き込みから ID3D11ShaderResourceView での読み取りに切り替えるだけです。 ランタイムは、 ID3D11RenderTargetView と ID3D11ShaderResourceView を使用して、これらの 1 つのリソース操作を既 に追跡して処理します。
あるリソースを含むタイル プール内の特定の場所へのアクセス (読み取りまたは書き込み) から、別のタイル リソース (同じメモリへのマッピングを使用) を介して同じメモリ (読み取りまたは書き込み) にアクセスするようにアプリが切り替わる場合、アプリは、リソースの最初の使用後と 2 番目のリソースの前に TiledResourceBarrier を呼び出す必要があります。 パラメーターは、バリアより前のアクセスの pTiledResourceOrViewAccessBeforeBarrier (レンダリング、コピーを使用) と、同じタイル プール メモリを使用してバリアの後のアクセスに 対する pTiledResourceOrViewAccessAfterBarrier です。 リソースが同一の場合、この種の危険は既に追跡および処理されているため、アプリは TiledResourceBarrier を呼び出す必要はありません。
バリア呼び出しは、呼び出しの前にリソースに発行された操作が、同じメモリを共有する別のタイル リソースを介して呼び出し後に発生するアクセスを完了する前に完了する必要があることをドライバーに通知します。
(バリアの前または後の) パラメーターのいずれかまたは両方を NULL にすることができます。 バリアの前に NULL を指定すると、バリアの後に指定されたリソースをグラフィックス処理装置 (GPU) で参照できるようになる前に、バリアが完了する前にすべてのタイル リソースがアクセスされます。 バリアの後の NULL は、バリアが終了する前にタイル リソースにアクセスした後にのみ、バリアの後にアクセスされたタイルリソースを GPU によって実行できることを意味します。 両方 の NULL は、後続のタイルリソースアクセスを続行する前に、以前のすべてのタイルリソースアクセスが完了していることを意味します。
アプリは、各パラメーターにビュー ポインター、リソース、または NULL を 渡すことができます。 ビューは、便宜上だけでなく、アプリがバリア効果をリソースの関連部分にスコープ設定できるようにも許可されます。
タイルリソースの詳細については、「タイル化された リソース」を参照してください。
要件
サポートされている最小のクライアント | Windows 8.1 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 R2 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | d3d11_2.h |
Library | D3D11.lib |