PFND3D11_1DDI_CREATEGEOMETRYSHADER コールバック関数 (d3d10umddi.h)
ジオメトリ シェーダーを作成します。
構文
PFND3D11_1DDI_CREATEGEOMETRYSHADER Pfnd3d111DdiCreategeometryshader;
void Pfnd3d111DdiCreategeometryshader(
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 コールバック関数を使用してエラー コードを設定できます。
ドライバーは、 pfnSetErrorCb 関数の呼び出しでE_OUTOFMEMORY (ドライバーのメモリ不足の場合) またはD3DDDIERR_DEVICEREMOVED (デバイスが削除されている場合) を渡すことができます。 Direct3D ランタイムは、他のエラーが重要であると判断します。 ドライバーがD3DDDIERR_DEVICEREMOVEDを含むエラーを渡した場合、Direct3D ランタイムはハンドルが正しくないと判断します。そのため、ランタイムは DestroyShader 関数を呼び出して 、hShader パラメーターが指定するハンドルを破棄しません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 |
サポートされている最小のサーバー | Windows Server 2012 |
対象プラットフォーム | デスクトップ |
Header | d3d10umddi.h (D3d10umddi.h を含む) |
こちらもご覧ください
CalcPrivateShaderSize(D3D11_1)