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

ピクセル シェーダー コードをハードウェア固有の形式に変換し、このコードをシェーダー ハンドルに関連付けます。

構文

PFND3D11_1DDI_CREATEPIXELSHADER Pfnd3d111DdiCreatepixelshader;

void Pfnd3d111DdiCreatepixelshader(
  D3D10DDI_HDEVICE unnamedParam1,
  const UINT *pShaderCode,
  D3D10DDI_HSHADER unnamedParam3,
  D3D10DDI_HRTSHADER unnamedParam4,
  const D3D11_1DDIARG_STAGE_IO_SIGNATURES *unnamedParam5
)
{...}

パラメーター

unnamedParam1

hDevice [in]

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

pShaderCode

シェーダー コードを構成する CONST UINT トークンの配列へのポインター。 シェーダー コード ストリームの最初のトークンは、常にバージョン トークンです。 ストリーム内の次のトークンは、シェーダー コード ストリームの末尾を決定する長さのトークンです。 Direct3D バージョン 11.1 シェーダー コードの形式の詳細については、WDK に含まれている D3d10tokenizedprogramformat.hpp ヘッダー ファイル内のコメントを参照してください。

unnamedParam3

hShader [in]

ピクセル シェーダーのドライバーのプライベート データへのハンドル。 ドライバーは、Microsoft Direct3D ランタイムがドライバーの CalcPrivateShaderSize(D3D11_1) 関数の呼び出しからプライベート データに割り当てる必要があるメモリ領域のサイズ (バイト単位) を返します。 ハンドルは、実際には、ドライバーが要求したサイズであるメモリ領域へのポインターにすぎません。 ドライバーは、このメモリ領域を使用して、シェーダー オブジェクトに関連する内部データ構造を格納します。

unnamedParam4

hRTShader [in]

ドライバーが Direct3D ランタイムに呼び出すときに使用するピクセル シェーダーのハンドル。

unnamedParam5

pSignatures [in]

シェーダーのシグネチャを構成する D3D11_1DDIARG_STAGE_IO_SIGNATURES 構造体へのポインター。

戻り値

なし

解説

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

ドライバーは、E_OUTOFMEMORY (ドライバーがメモリ不足の場合) または D3DDDIERR_DEVICEREMOVED (デバイスが削除されている場合) を pfnSetErrorCb 関数の呼び出しで渡すことができます。 Direct3D ランタイムは、他のエラーが重大であると判断します。 ドライバーがエラー (D3DDDIERR_DEVICEREMOVED を含む) を渡すと、Direct3D ランタイムはハンドルが正しくないと判断します。そのため、ランタイムは DestroyShader 関数を呼び出して 、hShader パラメーターが指定するハンドルを破棄しません。

要件

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

こちらもご覧ください

CalcPrivateShaderSize(D3D11_1)

D3D11_1DDIARG_STAGE_IO_SIGNATURES

DestroyShader

pfnSetErrorCb