Skip to main content
HLSL でレイトレーシング シェーダーを呼び出すために必要なスタック メモリの量を取得します。

構文

パラメーター

pExportName
型: LPCWSTR
スタック サイズを取得する、状態オブジェクト内のシェーダー エントリポイント。ヒット グループの場合、ヒット グループ内の個々のシェーダーを次の構文で指定する必要があります。 hitGroupName::shaderType ここで、hitGroupName はヒット グループのエントリポイント名で、shaderType は次のいずれかです。
  • intersection
  • anyhit
  • closesthit
これらの値はすべて大文字と小文字が区別されます。 値の例: “myTreeLeafHitGroup::anyhit”

戻り値

型: UINT64 シェーダーを呼び出すために必要なスタック メモリの量 (バイト単位)。シェーダーが状態オブジェクト内で完全に解決されていない場合、シェーダーが不明である場合、またはヒット グループなどスタック サイズが関連しない種類のシェーダーである場合、戻り値は 0xffffffff です。UINT64 の戻り値に 32 ビットの 0xffffffff 値を使用しているのは、不正な戻り値が全体のパイプライン スタック サイズを計算する際に他の値と加算されても失われないようにするためです。

解説

このメソッドは、保守的な既定のスタック サイズに頼るのではなく、SetPipelineStackSize を呼び出してスタック サイズを構成したい場合にのみ呼び出す必要があります。このメソッドはレイ生成シェーダー、ヒット グループ、ミス シェーダー、および呼び出し可能シェーダーに対してのみ有効です。レイ生成シェーダーはスタックの底にあるにもかかわらず、ゼロ以外の値を返すことがあります。 ヒット グループの場合、それを構成する個々のシェーダー (インターセクション シェーダー、any hit シェーダー、closest hit シェーダー) についてスタック サイズをクエリする必要があります。それぞれ異なるスタック サイズ要件を持つ可能性が高いためです。これらの個々のシェーダーで直接スタック サイズをクエリすることはできません。これらのコンパイル方法は、それらを含むヒット グループ全体によって影響を受ける可能性があるためです。pExportName パラメーターには、ヒット グループ内の個々のシェーダーを識別するための構文が含まれています。 この API は、コレクション状態オブジェクトまたはレイトレーシング パイプライン状態オブジェクトのいずれに対しても呼び出せます。

要件

ヘッダー: d3d12_xs.h
ライブラリ: d3d12_xs.lib
サポートされるプラットフォーム: XBOX Series 本体

関連項目

ID3D12StateObjectProperties
最終更新日 2026年8月24日