| Previous | Next |
| DXGI_DDI_ERR_WASSTILLDRAWING | DXGI_DDI_ERR_NONEXCLUSIVE |
DXGI_DDI_ERR_UNSUPPORTED
Interpret the result in its owning layer: ddi err unsupported
The useful interpretation of DXGI_DDI_ERR_UNSUPPORTED (0x887B0002) starts at the dxgi error boundary: the driver rejected a requested resource description or operation it does not implement. In practical terms, inspect user-mode display driver resource contract before changing application-wide graphics settings.
Capture before recreating objects
| Capture item | Why it matters |
|---|---|
| Supporting trace | DXGI debug messages, adapter LUID, driver version, device-removal reason where applicable and the exact API parameters |
| Object identity | user-mode display driver resource contract |
| Rejected condition | the driver rejected a requested resource description or operation it does not implement |
| What to capture | resource dimension, format, bind and misc flags, feature level, format-support queries and DDI version |
| Current graph state | DXGI factory, adapter, device, resource or cache session |
Reproduce one variable at a time
- Capture the failing state. Record resource dimension, format, bind and misc flags, feature level, format-support queries and DDI version.
- Reduce the resource description to a documented supported combination and reintroduce one flag at a time.
The comparison with DXGI_ERROR_UNSUPPORTED is especially useful: DXGI_ERROR_UNSUPPORTED is the public runtime result and can also cover broader platform limitations.
Recovery contract
Gate creation on capability queries and provide a compatible fallback format or usage.
- debug-layer, ETW or driver diagnostics no longer report the rejected user-mode display driver resource contract during the same scenario.
Implementation notes
Technical references
- Microsoft: DXGI error codes — background for the user-mode display driver resource contract.
- Microsoft: DXGI overview
- Microsoft: Direct3D 12 shader cache StoreValue
- Microsoft: Handle device-removed scenarios
Looking for a different code? Search another status or error code.