ID3D11DeviceContext::FinishCommandList 方法 (d3d11.h)
建立命令清單,並將圖形命令記錄到其中。
語法
HRESULT FinishCommandList(
BOOL RestoreDeferredContextState,
[out, optional] ID3D11CommandList **ppCommandList
);
參數
RestoreDeferredContextState
類型: BOOL
布爾值旗標,判斷運行時間在執行 FinishCommandList 之前是否儲存延遲的內容狀態,並在之後還原它。 使用 TRUE 表示運行時間需要儲存和還原狀態。 使用 FALSE 表示運行時間不會儲存或還原任何狀態。 在此情況下,延後的內容會在 呼叫 FinishCommandList 完成之後返回其默認狀態。 如需默認狀態的相關信息,請參閱 ID3D11DeviceContext::ClearState。 一般而言,除非您將狀態還原為幾乎相當於當您傳遞 TRUE 時,運行時間會還原的狀態,否則請使用 FALSE。 當您使用 FALSE 時,可以避免不必要的無效率狀態轉換。
[out, optional] ppCommandList
類型: ID3D11CommandList**
完成方法時,會使用錄製的命令清單資訊初始化 ID3D11CommandList 介面指標的傳遞指標。 產生的 ID3D11CommandList 物件是不可變的,只能與 ID3D11DeviceContext::ExecuteCommandList 搭配使用。
傳回值
類型: HRESULT
如果成功,則傳回S_OK;否則,傳回下列其中一項:
- 如果已從系統實際移除視訊卡,或發生視訊卡的驅動程序升級,則傳回DXGI_ERROR_DEVICE_REMOVED。 如果發生此錯誤,您應該終結並重新建立裝置。
- 如果無法從目前內容呼叫 FinishCommandList ,則傳回DXGI_ERROR_INVALID_CALL。 請參閱<備註>。
- 如果應用程式已用盡可用記憶體,則傳回E_OUTOFMEMORY。
備註
從延後的內容建立命令清單,並藉由呼叫 FinishCommandList 將命令記錄到其中。 呼叫 ID3D11DeviceContext::ExecuteCommandList,以立即內容播放命令清單。
執行命令清單之前和之後,會清除立即內容狀態。 命令清單沒有繼承的概念。 每次呼叫 FinishCommandList 只會記錄自任何先前呼叫 FinishCommandList 以來的狀態集。
例如, 裝置內容 的狀態是其轉譯狀態或管線狀態。 若要擷取裝置內容狀態,應用程式可以呼叫 ID3D11DeviceContext::GetData 或 ID3D11DeviceContext::GetPredication。
如需如何使用 FinishCommandList 的詳細資訊,請參閱 如何:記錄命令清單。
Windows Phone 8:支援此 API。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d11.h |
程式庫 | D3d11.lib |