Site icon EfmSoft

What does HRESULT 0x88980802 (DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED) mean?

 
Previous Next
DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED WINCODEC_ERR_WRONGSTATE

DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED

Locate the failing graphics boundary: surface not being rendered

Windows reports DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED (0x88980802) at the dcomp checkpoint. Here, EndDraw or an equivalent completion action was issued without an active surface rendering operation. That narrows the first investigation to DirectComposition surface completion state instead of the entire GPU stack.

Evidence that makes the result actionable

Capture itemWhy it matters
Supporting traceBeginDraw/EndDraw or target-creation sequence, Commit result, HWND ownership and CheckDeviceState output
Object identityDirectComposition surface completion state
Rejected conditionEndDraw or an equivalent completion action was issued without an active surface rendering operation
What to capturesurface identity, last successful BeginDraw, thread ownership, cancellation path and visual commit order
Current graph stateDirectComposition device, target, visual tree and surface update transaction

A controlled comparison

  1. Invoke EndDraw on a fresh surface, then compare with a correct BeginDraw/EndDraw pair.

The comparison with DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED is especially useful: DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED reports a nested BeginDraw instead of an unmatched EndDraw.

Correction and proof

Track the active update explicitly and call EndDraw exactly once for each successful BeginDraw.

  • debug-layer, ETW or driver diagnostics no longer report the rejected DirectComposition surface completion state contract during the same scenario.

Technical references


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

Exit mobile version