語法
typedef enum D3D12XBOX_DEBUG_FLAGS : UINT
{
D3D12XBOX_DEBUG_FLAG_NONE = 0x00000000,
D3D12XBOX_DEBUG_FLAG_API_ERROR_DISABLE_BREAKS = 0x00000001,
D3D12XBOX_DEBUG_FLAG_DISABLE_BARRIER_VALIDATION = 0x00000200,
D3D12XBOX_DEBUG_FLAG_ENABLE_TRANSITION_BARRIER_LOGGING = 0x00000400,
D3D12XBOX_DEBUG_FLAG_ENABLE_INVALID_ROOT_PARAMETER_VALIDATION = 0x00000800,
D3D12XBOX_DEBUG_FLAG_ENABLE_NULL_DESCRIPTOR_VALIDATION = 0x00001000,
D3D12XBOX_DEBUG_FLAG_ENABLE_NULL_VERTEX_BUFFER_VIEW_VALIDATION = 0x00002000,
D3D12XBOX_DEBUG_FLAG_ENABLE_OUT_OF_ORDER_CMD_LIST_VALIDATION = 0x00004000,
D3D12XBOX_DEBUG_FLAG_DISABLE_COMMON_STATE_PROMOTION_AND_DECAY = 0x00000000,
} D3D12XBOX_DEBUG_FLAGS
常數
| 常數 | 描述 |
|---|---|
| D3D12XBOX_DEBUG_FLAG_NONE | 未設定任何旗標。 |
| D3D12XBOX_DEBUG_FLAG_API_ERROR_DISABLE_BREAKS | 停用偵錯中斷。根據預設,每個驗證錯誤都會導致驅動程式中斷進入偵錯工具,並顯示錯誤的呼叫堆疊。此選項會停用這些偵錯中斷。 |
| D3D12XBOX_DEBUG_FLAG_DISABLE_BARRIER_VALIDATION | 如果資源轉換屏障的驗證因在 ExecuteCommandLists 時執行的驗證工作量而具有相對較高的 CPU 成本,則停用該驗證。 |
| D3D12XBOX_DEBUG_FLAG_ENABLE_TRANSITION_BARRIER_LOGGING | 在資源轉換屏障的驗證程式碼處理每個資源轉換屏障時,啟用一行偵錯列印文字。此資訊記錄有助於追蹤遺漏或不正確的資源轉換屏障。 |
| D3D12XBOX_DEBUG_FLAG_ENABLE_INVALID_ROOT_PARAMETER_VALIDATION | 在資源轉換屏障驗證期間啟用額外檢查。當繪製或分派使用的根參數在根簽章前次變更之後尚未設定為有效值時,會引發錯誤。由於此情況通常無害,因此預設會停用此驗證。 |
| D3D12XBOX_DEBUG_FLAG_ENABLE_NULL_DESCRIPTOR_VALIDATION | 在資源轉換屏障驗證期間啟用額外檢查。當繪製或分派參考了 null 描述元時,會引發錯誤。此情況可能無害或屬於預期行為,但若非預期,也可能是正確性錯誤。 |
| D3D12XBOX_DEBUG_FLAG_ENABLE_NULL_VERTEX_BUFFER_VIEW_VALIDATION | 在資源轉換屏障驗證期間啟用額外檢查。當繪製參考了 null 頂點緩衝區檢視時,會引發錯誤。此情況可能無害或屬於預期行為,但若非預期,也可能是正確性錯誤。 |
| D3D12XBOX_DEBUG_FLAG_ENABLE_OUT_OF_ORDER_CMD_LIST_VALIDATION | 啟用非循序命令清單驗證。 |
| D3D12XBOX_DEBUG_FLAG_DISABLE_COMMON_STATE_PROMOTION_AND_DECAY | 已淘汰。 |
