What does HRESULT 0x087A0001 (DXGI_STATUS_OCCLUDED) mean?

 
Previous Next
RTC_E_STATUS_SUCCESS DXGI_STATUS_CLIPPED

DXGI_STATUS_OCCLUDED

Locate the failing graphics boundary: status occluded

DXGI_STATUS_OCCLUDED (0x087A0001) belongs to the dxgi status layer. It marks Present reached DXGI, but the target window was completely hidden and no useful pixels could reach the user, rather than a generic rendering failure. The object that owns the decision is windowed swap-chain visibility.

Evidence that makes the result actionable

Capture itemWhy it matters
Object identitywindowed swap-chain visibility
Rejected conditionPresent reached DXGI, but the target window was completely hidden and no useful pixels could reach the user
What to captureHWND, swap-chain flags, Present result sequence, window visibility, DWM state and whether DXGI_PRESENT_TEST later returns S_OK
Current graph stateswap chain, target window, output and Present call
Supporting tracePresent/Present1 result history, WM_SIZE or WM_DISPLAYCHANGE messages, swap-chain description and current IDXGIOutput identity

A controlled comparison

  1. Capture the failing state. Record HWND, swap-chain flags, Present result sequence, window visibility, DWM state and whether DXGI_PRESENT_TEST later returns S_OK.
  2. Cover the entire target window, observe the status, then uncover it while polling with DXGI_PRESENT_TEST.

The comparison with DXGI_STATUS_CLIPPED is especially useful: DXGI_STATUS_CLIPPED reports partial rather than complete loss of visibility.

Correction and proof

Pause expensive rendering while occluded and resume only after a test present reports visibility.

  • debug-layer, ETW or driver diagnostics no longer report the rejected windowed swap-chain visibility contract during the same scenario.

Implementation notes

Technical references


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