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

特定のタイルリソースの場合、パックされているミップの数と、パックされたすべてのミップを格納するために必要なタイルの数を返します。

構文

PFND3DWDDM1_3DDI_GETMIPPACKING Pfnd3dwddm13DdiGetmippacking;

void Pfnd3dwddm13DdiGetmippacking(
  D3D10DDI_HDEVICE hDevice,
  D3D10DDI_HRESOURCE hTiledResource,
  UINT *pNumPackedMips,
  UINT *pNumTilesForPackedMips
)
{...}

パラメーター

hDevice

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

hTiledResource

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

pNumPackedMips

標準のタイル図形を使用しない mips を含む、特定の配列スライスに対してパックされるミップの数を受け取る変数へのポインター。

パッキングがない場合は、0 の値を返す必要があります。

pNumTilesForPackedMips

特定の配列スライスに対して、パックされたミップが収まるタイルの数を受け取る変数へのポインター。

*pNumPackedMips が 0 を返す場合、このパラメーターは無視されます。

戻り値

なし

解説

ドライバーは 、pfnSetErrorCb コールバック関数を使用してエラー コードを設定できます。 ドライバーは、入力パラメーターが存在 しないかNULL の場合にE_INVALIDARGを設定できます。

パックされたミップには、複数の小さなミップがタイルを共有する場合や、特定のデバイスで標準のタイル図形を使用できないミップが含まれます。 リソース全体がパックされていると見なされる可能性があります。

アプリケーションは、パックされたミップのタイルの図形やレイアウトには伝えられません。ミップマップのいずれかにアクセスする場合は、パックされたタイルのすべてまたはまったくマップする必要はありません。 それ以外の場合、アクセスされる個々のピクセルのマッピングは未定義であり、独立したハードウェア ベンダー (IHV) に固有です。

すべての次元で少なくとも 1 つの標準の形のタイルを完全に埋めるピクセルディメンションを持つミップマップは、パックされたミップのセットの一部とは見なされません。 それ以外の場合、ランタイムは無効なドライバー上のデバイスを削除します。
デバイスがパックされたタイルに有効にまとめることができるディメンションの 1 つの例は (IHV が独自のカスタム タイルブレークダウンを使用できることを意味します)、タイル幅は少なくとも 1 つですが、タイルの高さよりも小さいミップです。 ただし、デバイスでは、この場合に標準タイルの内訳を使用するのが理想的です (そのため、アプリケーションは標準の方法でタイルを管理できます)。 デバイスでカスタム タイリングを使用する必要がある場合、アプリケーションはタイルの内訳 (パッキング全体に関係するタイルの数のみ) が伝えられないため、自由を失います。

要件

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

こちらもご覧ください

pfnSetErrorCb