What does HRESULT 0x887A0032 (DXGI_ERROR_NON_COMPOSITED_UI) mean?

 
Previous Next
DXGI_ERROR_DYNAMIC_CODE_POLICY_VIOLATION DXGI_ERROR_CACHE_CORRUPT

DXGI_ERROR_NON_COMPOSITED_UI

What Windows rejected: non composited ui

Windows reports DXGI_ERROR_NON_COMPOSITED_UI (0x887A0032) at the dxgi error checkpoint. Here, the requested operation depends on composited UI while the compositor is not controlling that output. That narrows the first investigation to Desktop Window Manager ownership of the output instead of the entire GPU stack.

Do not erase all shader caches or recreate every graphics object before preserving the first failing call. Cache, policy, remote-session and device-lifetime failures have different recovery rules.

Build a useful diagnostic record

Capture itemWhy it matters
Current graph stateDXGI factory, adapter, device, resource or cache session
Supporting traceDXGI debug messages, adapter LUID, driver version, device-removal reason where applicable and the exact API parameters
Object identityDesktop Window Manager ownership of the output
Rejected conditionthe requested operation depends on composited UI while the compositor is not controlling that output
What to captureDWM composition state, session type, full-screen exclusivity, output ownership, swap-chain model and window hierarchy

Separate state from capability

  1. Capture the failing state. Record DWM composition state, session type, full-screen exclusivity, output ownership, swap-chain model and window hierarchy.
  2. Leave exclusive or noncomposited mode and repeat the same operation after DWM controls the target.

The comparison with DXGI_STATUS_NO_REDIRECTION is especially useful: DXGI_STATUS_NO_REDIRECTION is a successful alternate presentation path rather than a compositor-required failure.

Verify the repaired path

Perform the UI operation only on a composited target or use an API path documented for exclusive presentation.

  • debug-layer, ETW or driver diagnostics no longer report the rejected Desktop Window Manager ownership of the output contract during the same scenario.

Implementation notes

Technical references


Looking for a different code? Search another status or error code.