D3D12_BACKGROUND_PROCESSING_MODE enumeration (d3d12.h)

Defines constants that specify a level of dynamic optimization to apply to GPU work that's subsequently submitted.

Syntax

typedef enum D3D12_BACKGROUND_PROCESSING_MODE {
  D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED = 0,
  D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS,
  D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK,
  D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM
} ;

Constants

 
D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED
Value: 0
The default setting. Specifies that the driver may instrument workloads, and dynamically recompile shaders, in a low overhead, non-intrusive manner that avoids glitching the foreground workload.
D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS
Specifies that the driver may instrument as aggressively as possible. The understanding is that causing glitches is fine while in this mode, because the current work is being submitted specifically to train the system.
D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK
Specifies that background work should stop. This ensures that background shader recompilation won't consume CPU cycles. Available only in Developer mode.
D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM
Specifies that all dynamic optimization should be disabled. For example, if you're doing an A/B performance comparison, then using this constant ensures that the driver doesn't change anything that might interfere with your results. Available only in Developer mode.

Requirements

Requirement Value
Minimum supported client Windows 10 Build 20348
Minimum supported server Windows 10 Build 20348
Header d3d12.h

See also

Core enumerations