共用方式為


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*

要新增至現有狀態物件的狀態對象內容描述。 若要協助產生這項功能,請參閱 中的d3dx12.h類別中的CD3D12_STATE_OBJECT_DESC協助程式。

pStateObjectToGrowFrom

類型:_In_ ID3D12StateObject*

現有的狀態物件,可用於 (例如,在此作業期間作用中的光線追蹤) 。

現有的狀態物件不得為 Collection 類型。

riid

類型:_In_ REFIID

必須是 ID3D12StateObject介面的IID

ppNewStateObject

類型:_COM_Outptr_ void**

傳回的狀態物件。

如果從此呼叫擷取新著色器的新著色器標識碼,而且會透過著色器數據表,由參考某些較舊狀態物件的任何現有或正式發行前小眾測試命令清單存取著色器標識符,則行為是未定義的。 只有在呼叫 AddToStateObject 之後,才會從命令 (例如 DispatchRaysExecuteIndirect 呼叫) 記錄在命令清單中,才能使用新增至狀態物件的新著色器。

傳回值

S_OK 成功。 E_INVALIDARG,E_OUTOFMEMORY失敗時。 偵錯層提供詳細的狀態資訊。

備註

如需詳細資訊,請參閱 AddToStateObject

規格需求

需求
最低支援的用戶端 Windows 10 組建 20348
最低支援的伺服器 Windows 10 組建 20348
標頭 d3d12.h
程式庫 d3d12.lib
Dll d3d12.dll