次の方法で共有


PFND3DWDDM1_3DDI_TILEDRESOURCEBARRIER コールバック関数 (d3d10umddi.h)

複数のタイル リソース間のデータ アクセス順序制約を指定します。 この制約の詳細については、「解説」を参照してください。

構文

PFND3DWDDM1_3DDI_TILEDRESOURCEBARRIER Pfnd3dwddm13DdiTiledresourcebarrier;

void Pfnd3dwddm13DdiTiledresourcebarrier(
  D3D10DDI_HDEVICE hDevice,
  D3D11DDI_HANDLETYPE TiledResourceAccessBeforeBarrierHandleType,
  VOID *hTiledResourceAccessBeforeBarrier,
  D3D11DDI_HANDLETYPE TiledResourceAccessAfterBarrierHandleType,
  VOID *hTiledResourceAccessAfterBarrier
)
{...}

パラメーター

hDevice

ディスプレイ デバイス (グラフィックス コンテキスト) へのハンドル。

TiledResourceAccessBeforeBarrierHandleType

タイルリソースへのハンドル。

hTiledResourceAccessBeforeBarrier

D3DWDDM1_3DDI_RESOURCE_MISC_TILED フラグを使用して作成されたリソースへのハンドル。 このオブジェクトに対するアクセス操作は、 hTiledResourceAccessAfterBarrier が指定するオブジェクトに対するアクセス操作の前に完了する必要があります。

TiledResourceAccessAfterBarrierHandleType

D3D11DDI_HANDLETYPEは、hTiledResourceAccessBeforeBarrier パラメーターと hTiledResourceAccessAfterBarrier パラメーターによって指されるリソースの型を処理します。

hTiledResourceAccessAfterBarrier

D3DWDDM1_3DDI_RESOURCE_MISC_TILED フラグを使用して作成されたリソースへのハンドル。 このオブジェクトに対するアクセス操作は、 hTiledResourceAccessBeforeBarrier が指定するオブジェクトに対するアクセス操作の後に開始する必要があります。

戻り値

なし

解説

ドライバーは 、pfnSetErrorCb コールバック関数を使用してエラー コードを設定できます。

Direct3D ランタイムは、パラメーターの検証を最小限に抑えます。

アプリでは、タイル化されたリソースを使用して、さまざまなリソースのタイルを再利用できます。 ただし、デバイスとドライバーは、レンダリングされたタイル プール内のメモリが現在読み取りに使用されているかどうかを判断できない場合があります。

Direct3D ランタイムは TiledResourceBarrier を呼び出して、同じメモリを共有する別のタイル リソースを使用して呼び出し後に発生するアクセスを行う前に、呼び出しが完了する前にリソースに対して発行された操作をドライバーに通知します。

hTiledResourceAccessBeforeBarrier パラメーターと hTiledResourceAccessAfterBarrier パラメーターのいずれかまたは両方 (バリアの前後) は NULL にすることができます。 バリアの前に NULL を指定すると、バリアの後に指定されたリソースが GPU によって参照される前に、バリアが完了する前にすべてのタイル リソースアクセスが行われます。 バリアの後の NULL は、バリアが終了する前にタイルリソースにアクセスした後にのみ、バリアの後にアクセスされたタイルリソースを GPU によってのみ実行できることを意味します。 両方が NULL の場合は、後続のタイル リソース アクセスを続行する前に、以前のすべてのタイル リソース アクセスを完了する必要があります。

TiledResourceBarrier に対して呼び出しが行われなかった場合、ドライバーは、異なるタイル リソースへのアクセスが互いに競合しないと見なすことができます。

要件

要件
サポートされている最小のクライアント Windows 8.1、WDDM 1.3
サポートされている最小のサーバー Windows Server 2012 R2
対象プラットフォーム デスクトップ
Header d3d10umddi.h (D3d10umddi.h を含む)

こちらもご覧ください

D3D11DDI_HANDLETYPE

pfnSetErrorCb