次の方法で共有


ID3D12Device7::AddToStateObject メソッド (d3d12.h)

既存の状態オブジェクトに増分追加します。 これにより、既存の状態オブジェクトのスーパーセットである状態オブジェクトを最初から作成するよりも CPU オーバーヘッドが低くなります (たとえば、シェーダーを追加するなど)。

構文

HRESULT AddToStateObject(
  const D3D12_STATE_OBJECT_DESC *pAddition,
  ID3D12StateObject             *pStateObjectToGrowFrom,
  REFIID                        riid,
  void                          **ppNewStateObject
);

パラメーター

pAddition

型: _In_ const D3D12_STATE_OBJECT_DESC*

既存の状態オブジェクトに追加する状態オブジェクトの内容の説明。 これを生成するには、 の クラスの CD3D12_STATE_OBJECT_DESC ヘルパーを d3dx12.h参照してください。

pStateObjectToGrowFrom

型: _In_ ID3D12StateObject*

この操作中に使用できる既存の状態オブジェクト (アクティブレイトレーシングなど)。

既存の状態オブジェクトは Collection 型である必要があります。

riid

型: _In_ REFIID

ID3D12StateObject インターフェイスの IID である必要があります。

ppNewStateObject

型: _COM_Outptr_ void**

返された状態オブジェクト。

この呼び出しから新しいシェーダーのシェーダー識別子が取得され、いくつかの古い状態オブジェクトを参照する既存または飛行中のコマンド リストによってシェーダー テーブルを介してアクセスされる場合、動作は未定義です。 状態オブジェクトに追加された新しいシェーダーは、AddToStateObject の呼び出し後にコマンド リストに記録されたコマンド (DispatchRaysExecuteIndirect 呼び出しなど) からのみ使用できます。

戻り値

成功のためのS_OKE_INVALIDARG、失敗時に E_OUTOFMEMORY 。 デバッグ レイヤーは、詳細な状態情報を提供します。

注釈

詳細については、「 AddToStateObject」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 10 ビルド 20348
サポートされている最小のサーバー Windows 10 ビルド 20348
Header d3d12.h
Library d3d12.lib
[DLL] d3d12.dll