語法
參數
pSrcPipelineState _In_類型:ID3D12PipelineState* 來源管線狀態,為指向 ID3D12PipelineState 的指標。 NumDescs _In_
類型:UINT pDescs 中 D3D12XBOX_DERIVED_GRAPHICS_STATE_DESC 結構的數目。 pDescs _In_
類型:D3D12XBOX_DERIVED_GRAPHICS_STATE_DESC* 描述,為 D3D12XBOX_DERIVED_GRAPHICS_STATE_DESC 結構的陣列。 riid _In_
類型:REFIID 管線狀態介面 ID3D12PipelineState 的全域唯一識別碼 (GUID)。 若要擷取管線狀態介面的 REFIID (或 GUID),請使用 __uuidof() 巨集。例如,若要取得命令清單介面的 GUID,請執行下列動作:
類型:void** 產生的衍生圖形管線狀態物件。
傳回值
類型:HRESULT 其中一個 Direct3D 12 傳回碼。備註
此方法可讓您建立衍生自另一個 PSO 的圖形管線狀態物件。新物件是以來源物件的狀態作為基礎狀態衍生而來,並允許變更深度/樣板、點陣化器和/或混合狀態。 當無法得知 PSO 狀態的所有排列組合,也無法使用 ID3D12Device::DeserializeGraphicsPipelineStateX 離線建立時,此方法就很有用,因為 CreateDerivedGraphicsPipelineStateX 允許在執行階段以任意狀態類別進行建立。CreateDerivedGraphicsPipelineStateX 在 CPU 與記憶體方面都很輕量。 可以變更個別的狀態群組 (例如混合或點陣化器狀態)。任何未覆寫的狀態都會設定為與來源 PSO 相同的值。NumDescs 描述要變更的狀態群組數目。Type 識別每個狀態群組的類型。 以下列出呼叫端的責任:- 如果來源 PSO 是透過 DeserializeGraphicsPipelineStateX 建立:呼叫端必須確保 GPU 指令在原始物件與衍生物件的存留期間都持續存在。
- 如果來源 PSO 是透過 CreateGraphicsPipelineState 建立:為確保其 GPU 指令在衍生物件的存留期間持續存在,D3D12 子系統會自動為來源物件增加參考計數。
