共用方式為


ID3D12DebugCommandList1::AssertResourceState 方法 (d3d12sdklayers.h)

驗證指定的狀態是否符合子資源的狀態,假設在錄製命令清單期間已知指定的子資源狀態 (,例如資源在錄製) 之前在相同的命令清單中轉換。 如果狀態還不知道,這個方法會設定已知狀態,以便稍後在相同的命令清單錄製中進一步驗證。

語法

BOOL AssertResourceState(
  [in] ID3D12Resource *pResource,
       UINT           Subresource,
       UINT           State
);

參數

[in] pResource

類型: ID3D12Resource*

指定要檢查的 ID3D12Resource

Subresource

類型: UINT

要檢查之子資源的索引。 這可以設定為索引或D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES。

State

類型: UINT

指定要檢查的狀態。 這可以是一或多個 D3D12_RESOURCE_STATES 旗標或一起。

傳回值

類型: BOOL

如果資源或子資源的追蹤狀態符合指定的狀態,則這個方法會傳回 true ,否則傳回 false

備註

由於命令清單的執行有時會在錄製之後發生,因此在命令清單錄製期間通常無法得知資源的狀態。 AssertResourceState 可讓應用程式開發人員能夠在命令清單中的固定錄製點對資源或子資源施加假設狀態。

資源或子資源的狀態通常是因為先前的屏障或推斷的使用 (,在命令清單錄製期間先前呼叫 CopyBufferRegion) 而已知。 在這種情況下,如果指定的狀態不符合已知或假設的狀態, AssertResourceState 可能會產生偵錯訊息。

此 API 僅適用於偵錯驗證,不會影響資源的實際運行時間或 GPU 狀態。

規格需求

需求
目標平台 Windows
標頭 d3d12sdklayers.h

另請參閱

ID3D12DebugCommandList1