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 之後,才會從命令 (例如 DispatchRays 或 ExecuteIndirect 呼叫) 記錄在命令清單中,才能使用新增至狀態物件的新著色器。
傳回值
S_OK 成功。 E_INVALIDARG,E_OUTOFMEMORY失敗時。 偵錯層提供詳細的狀態資訊。
備註
如需詳細資訊,請參閱 AddToStateObject。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 組建 20348 |
最低支援的伺服器 | Windows 10 組建 20348 |
標頭 | d3d12.h |
程式庫 | d3d12.lib |
Dll | d3d12.dll |