> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12XBOX_PROCESS_DEBUG_FLAGS (XBOX One 系列)

> D3D12XBOX_PROCESS_DEBUG_FLAGS (XBOX One 系列主機) — 定義用來偵錯處理序的旗標。適用於 XBOX 開發的 Direct3D 12 圖形 API 參考。

定義用來偵錯處理序的旗標。

## 語法

```cpp theme={null}
typedef enum D3D12XBOX_PROCESS_DEBUG_FLAGS
{  
    D3D12XBOX_PROCESS_DEBUG_FLAG_NONE = 0x0,  
    D3D12XBOX_PROCESS_DEBUG_FLAG_DEBUG = 0x00000001,  
    D3D12_PROCESS_DEBUG_FLAG_DEBUG_LAYER_ENABLED = D3D12XBOX_PROCESS_DEBUG_FLAG_DEBUG,  
    D3D12XBOX_PROCESS_DEBUG_FLAG_INSTRUMENTED = 0x00100000,  
    D3D12XBOX_PROCESS_DEBUG_FLAG_VALIDATED = D3D12XBOX_PROCESS_DEBUG_FLAG_DEBUG,  
    D3D12XBOX_PROCESS_DEBUG_FLAG_NULL_GPU = 0x00400000,  
    D3D12XBOX_PROCESS_DEBUG_FLAG_ENABLE_COMMON_STATE_PROMOTION = 0x01000000,  
} D3D12XBOX_PROCESS_DEBUG_FLAGS  
```

## 常數

| 常數 | 描述 |
| - | - |
| D3D12XBOX\_PROCESS\_DEBUG\_FLAG\_NONE | 未設定任何旗標。 |
| D3D12XBOX\_PROCESS\_DEBUG\_FLAG\_DEBUG | 啟用 Direct3D 偵錯。這包括完整的參數驗證和完整的 PIX 檢測。 |
| D3D12\_PROCESS\_DEBUG\_FLAG\_DEBUG\_LAYER\_ENABLED | 啟用偵錯層。此列舉常數將在未來版本中移除。 |
| D3D12XBOX\_PROCESS\_DEBUG\_FLAG\_INSTRUMENTED | 啟用已檢測的 Direct3D。這包括 PIX 檢測，但不包括參數驗證。 |
| D3D12XBOX\_PROCESS\_DEBUG\_FLAG\_VALIDATED | 啟用 Direct3D 偵錯。這包括完整的參數驗證和完整的 PIX 檢測。 |
| D3D12XBOX\_PROCESS\_DEBUG\_FLAG\_NULL\_GPU | 啟用 NULL GPU，這會停用所有轉譯並消除所有 GPU 額外負荷。 |
| D3D12XBOX\_PROCESS\_DEBUG\_FLAG\_ENABLE\_COMMON\_STATE\_PROMOTION | 啟用一般狀態提升語意。一般狀態提升是 Windows 下 Direct3D 12 的預設行為；不過，在 XBOX 上的 Direct3D 12 中，這是需要選擇加入的功能，因為它會變更 Direct3D 12.x 自推出以來一直使用的 GPU 同步處理行為。當您啟用一般狀態提升語意時，未壓縮資源上的某些資源轉換屏障就變得不必要，而已驗證 D3D12 驅動程式中的轉換狀態驗證引擎也會隨之調整。驅動程式所插入的 GPU 管線排清位置也會改變。根據預設，D3D12.X 驅動程式會在每次 [ISignalX](/zh-TW/reference/graphics/d3d12_x/interfaces/id3d12commandqueue/methods/id3d12commandqueue_signalx) 呼叫中、柵欄寫入之前，插入完整的 GPU 管線與快取排清；啟用一般狀態提升後，管線與快取排清會從 Signal 移出，改為在每次 **ExecuteCommandLists** 呼叫所提交的最後一個清單執行完畢後，於 [ExecuteCommandLists](/zh-TW/reference/graphics/d3d12_x/interfaces/id3d12commandqueue/methods/id3d12commandqueue_executecommandlists) 中執行。 |

## 備註

`D3D12XBOX_PROCESS_DEBUG_FLAGS` 定義用來偵錯處理序的旗標。

根據預設，D3D12.X 驅動程式會在每次 [ISignalX](/zh-TW/reference/graphics/d3d12_x/interfaces/id3d12commandqueue/methods/id3d12commandqueue_signalx) 呼叫中、柵欄寫入之前，插入完整的 GPU 管線與快取排清；啟用一般狀態提升後，管線與快取排清會從 Signal 移出，改為在每次 **ExecuteCommandLists** 呼叫所提交的最後一個清單執行完畢後，於 [ExecuteCommandLists](/zh-TW/reference/graphics/d3d12_x/interfaces/id3d12commandqueue/methods/id3d12commandqueue_executecommandlists) 中執行。

如需狀態提升的詳細資訊，請參閱[在 Direct3D 12 中使用資源屏障同步處理資源狀態](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/using-resource-barriers-to-synchronize-resource-states-in-direct3d-12#using-the-resourcebarrier-api-to-manage-per-resource-state)中的*使用 ResourceBarrier API 管理個別資源狀態*。

下列結構和函式使用此列舉：

* [D3D12XBOX\_CREATE\_DEVICE\_PARAMETERS](/zh-TW/reference/graphics/d3d12_x/structs/d3d12xbox_create_device_parameters)
* [SetProcessDebugFlags](/zh-TW/reference/graphics/d3d12_x/interfaces/id3d12debug/methods/id3d12debug_setprocessdebugflags)
* [D3D12XboxSetProcessDebugFlags](/zh-TW/reference/graphics/d3d12_x/interfaces/id3d12debug/methods/id3d12debug_setprocessdebugflags)

## 需求

**標頭：** d3d12\_x.h

**支援的平台：** XBOX One 系列

## 另請參閱

[d3d12\_x](/zh-TW/reference/graphics/d3d12_x/d3d12_x_members)


## Related topics

- [NDA 主題目錄 - Microsoft Learn 線上連結](/zh-TW/nda/nda-topic-directory.md)
- [NDA topic directory - live Microsoft Learn links](/nda/nda-topic-directory.md)
- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr-CA/nda/nda-topic-directory.md)
- [Directorio de temas NDA: enlaces activos a Microsoft Learn](/es/nda/nda-topic-directory.md)
