What does HRESULT 0x087A0008 (DXGI_STATUS_MODE_CHANGE_IN_PROGRESS) mean?

 
Previous Next
DXGI_STATUS_MODE_CHANGED DXGI_STATUS_UNOCCLUDED

DXGI_STATUS_MODE_CHANGE_IN_PROGRESS

What Windows rejected: status mode change in progress

DXGI_STATUS_MODE_CHANGE_IN_PROGRESS, value 0x087A0008, is produced by dxgi status when another device was changing full-screen or windowed mode when the caller requested a conflicting operation. The investigation should stay attached to exclusive-mode transition arbitration and to the exact generation in which it was obtained.

A DXGI status can describe a successful or temporarily invisible presentation. Converting every non-S_OK value into device recreation destroys useful state and can create a full-screen transition loop.

Build a useful diagnostic record

Capture itemWhy it matters
Rejected conditionanother device was changing full-screen or windowed mode when the caller requested a conflicting operation
What to captureSetFullscreenState and ResizeTarget call order, owning HWND, output identity, message-pump state and competing process activity
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
Object identityexclusive-mode transition arbitration

Separate state from capability

  1. Capture the failing state. Record SetFullscreenState and ResizeTarget call order, owning HWND, output identity, message-pump state and competing process activity.
  2. Start one controlled full-screen transition and issue the second request before the first transition completes.

The comparison with DXGI_ERROR_MODE_CHANGE_IN_PROGRESS is especially useful: DXGI_ERROR_MODE_CHANGE_IN_PROGRESS is a failing API result; this status can be returned as nonfatal transition feedback.

Verify the repaired path

Serialize mode changes, keep the window message pump responsive and retry after the transition settles.

  • debug-layer, ETW or driver diagnostics no longer report the rejected exclusive-mode transition arbitration contract during the same scenario.

Implementation notes

Technical references


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