Site icon EfmSoft

What does HRESULT 0x887B0001 (DXGI_DDI_ERR_WASSTILLDRAWING) mean?

 
Previous Next
DXGI_ERROR_ALREADY_EXISTS DXGI_DDI_ERR_UNSUPPORTED

DXGI_DDI_ERR_WASSTILLDRAWING

Why this is not a generic GPU failure: ddi err wasstilldrawing

DXGI_DDI_ERR_WASSTILLDRAWING (0x887B0001) belongs to the dxgi error layer. It marks the driver could not complete a nonblocking request because the GPU still owned a required resource, rather than a generic rendering failure. The object that owns the decision is user-mode display driver scheduling point.

The smallest evidence set

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 identityuser-mode display driver scheduling point
Rejected conditionthe driver could not complete a nonblocking request because the GPU still owned a required resource
What to captureDDI call, resource handles, synchronization flags, last submitted command buffer, fence value and whether the caller requested no wait

A/B test for the exact condition

  1. Wait for the owning fence or remove the nonblocking flag and repeat the identical operation.

The comparison with DXGI_ERROR_WAS_STILL_DRAWING is especially useful: DXGI_ERROR_WAS_STILL_DRAWING is the runtime-facing equivalent returned to applications.

Safe remediation

Use explicit synchronization and bounded retry; avoid a busy loop that increases queue pressure.

  • debug-layer, ETW or driver diagnostics no longer report the rejected user-mode display driver scheduling point contract during the same scenario.

Technical references


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

Exit mobile version