What does HRESULT 0x887A000A (DXGI_ERROR_WAS_STILL_DRAWING) mean?

 
Previous Next
DXGI_ERROR_DEVICE_RESET DXGI_ERROR_FRAME_STATISTICS_DISJOINT

DXGI_ERROR_WAS_STILL_DRAWING

DXGI_ERROR_WAS_STILL_DRAWING means that the GPU was busy when the call was made and the requested operation was neither executed nor queued. It is normally a flow-control result for a call path that intentionally avoids waiting, not evidence that the device has been lost.

Handle it deliberately

  • Do not spin in a tight retry loop on the rendering thread; it can consume CPU without letting the GPU make useful progress.
  • Reschedule the work, wait through the synchronization primitive appropriate to the API, or skip a frame only when that is acceptable for the product.
  • Keep ownership and lifetime valid until the deferred operation is actually resubmitted or discarded.

Separate it from a hung device

A busy GPU can still make progress. If the code changes to DXGI_ERROR_DEVICE_REMOVED, DXGI_ERROR_DEVICE_HUNG, or DXGI_ERROR_DEVICE_RESET, switch to device-loss recovery instead of retaining the old queueing policy.

Microsoft: DXGI error codes · Microsoft: device-loss handling


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