Defines flags that are used to debug a process.
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;
| Constant | Description |
|---|---|
| D3D12XBOX_PROCESS_DEBUG_FLAG_NONE | No flags. |
| D3D12XBOX_PROCESS_DEBUG_FLAG_DEBUG | Enables debug Direct3D, which includes full parameter validation and PIX instrumentation. |
| D3D12_PROCESS_DEBUG_FLAG_DEBUG_LAYER_ENABLED | Enables the debug layer. This enumeration constant will be removed in a future release. |
| D3D12XBOX_PROCESS_DEBUG_FLAG_INSTRUMENTED | Enables instrumented Direct3D, which includes PIX instrumentation but not parameter validation. |
| D3D12XBOX_PROCESS_DEBUG_FLAG_VALIDATED | Enables debug Direct3D, which includes full parameter validation and PIX instrumentation. |
| D3D12XBOX_PROCESS_DEBUG_FLAG_NULL_GPU | Enables NULL GPU, which disables all rendering and eliminates all GPU overhead. |
| D3D12XBOX_PROCESS_DEBUG_FLAG_ENABLE_COMMON_STATE_PROMOTION | Enables common state promotions semantics as described in Using Resource Barriers to Synchronize Resource States in Direct3D 12 | Implicit State Transitions. Common state promotion is the default behavior for Direct3D 12 on PC, but is an opt-in feature for Direct3D 12 on Xbox because it changes the GPU synchronization behavior Direct3D 12.x has used since its inception. When common state promotion semantics are enabled, certain resource transition barriers on uncompressed resource become unnecessary and the transition state validation engine in the validated D3D12 driver will adapt accordingly. The location of GPU pipeline flushes inserted by the driver also changes: by default the D3D12.X driver inserts a full GPU pipeline and cache flush within each ID3D12CommandQueue::Signal call, preceding the fence write; with common state promotion enabled, the pipeline and cache flush is moved out of Signal and into ID3D12CommandQueue::ExecuteCommandLists following the execution of the last list submitted to each ExecuteCommandLists call. |
This enumeration is passed into ID3D12Debug::SetProcessDebugFlags and D3D12XboxSetProcessDebugFlags.
Header: Declared in d3d12_x.h.