次の方法で共有


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

CreateComputeShader 関数は、コンピューティング シェーダーを作成します。

構文

PFND3D11DDI_CREATECOMPUTESHADER Pfnd3d11ddiCreatecomputeshader;

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

パラメーター

unnamedParam1

hDevice [in]

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

pShaderCode

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

unnamedParam3

hShader [in]

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

unnamedParam4

hRTShader [in]

ドライバーが Direct3D ランタイムに呼び出すときに使用するコンピューティング シェーダーへのハンドル。

戻り値

なし

解説

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

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

要件

要件
サポートされている最小のクライアント CreateComputeShader は、Windows 7 オペレーティング システム以降でサポートされています。
対象プラットフォーム デスクトップ
Header d3d10umddi.h (D3d10umddi.h を含む)

こちらもご覧ください

CalcPrivateShaderSize

D3D11DDI_DEVICEFUNCS

DestroyShader

pfnSetErrorCb