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

シェーダーの作成後に使用できる完全なシェーダー バイナリを提供します。 完全なシェーダー バイナリを使用すると、ドライバーはデバッグ情報またはその他のシェーダー バイナリ情報を取得できます。通常はドライバーでは使用できません。

構文

PFND3D11_1DDI_ASSIGNDEBUGBINARY Pfnd3d111DdiAssigndebugbinary;

void Pfnd3d111DdiAssigndebugbinary(
       D3D10DDI_HDEVICE unnamedParam1,
       D3D10DDI_HSHADER unnamedParam2,
       UINT uBinarySize,
  [in] const VOID *pBinary
)
{...}

パラメーター

unnamedParam1

hDevice [in]

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

unnamedParam2

hShader [in]

シェーダー オブジェクトのドライバーのプライベート データへのハンドル。

uBinarySize

完全なシェーダー バイナリのサイズ (バイト単位)。

[in] pBinary

完全なシェーダー バイナリへのポインター。

戻り値

なし

解説

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

AssignDebugBinary は、次のすべてが当てはまる場合にのみ呼び出されます。

  • デバイスをデバッグできます。
  • ユーザー モード ディスプレイ ドライバーは 、D3D11_1DDI_D3D11_OPTIONS_DATAを設定しました。AssignDebugBinarySupport フラグを TRUE に設定します
  • シェーダー作成関数 CreateXxxShaderXxx が呼び出され、成功し、シェーダーにハンドルが返されました。
D3DDDIERR_DEVICEREMOVEDを除き、ドライバーでエラーが発生しないようにする必要があります。 したがって、ドライバーが pfnSetErrorCb 関数の呼び出しで、D3DDDIERR_DEVICEREMOVEDを除くエラーを渡した場合、Microsoft Direct3D ランタイムはエラーが重大であると判断します。 デバイスが削除された場合でも、ドライバーは D3DDDIERR_DEVICEREMOVEDを返す必要はありません。ただし、デバイスの削除が AssignDebugBinary (通常は発生しないはずです) の操作に干渉した場合、ドライバーは D3DDDIERR_DEVICEREMOVEDを返すことができます。

要件

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

こちらもご覧ください

D3D11_1DDI_D3D11_OPTIONS_DATA

pfnSetErrorCb