| Previous | Next |
| DXGI_DDI_ERR_UNSUPPORTED | D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS |
DXGI_DDI_ERR_NONEXCLUSIVE
What Windows rejected: ddi err nonexclusive
DXGI_DDI_ERR_NONEXCLUSIVE, value 0x887B0003, is produced by dxgi error when a performance counter was already owned by another process or Direct3D device. The investigation should stay attached to exclusive GPU counter ownership and to the exact generation in which it was obtained.
Build a useful diagnostic record
| Capture item | Why it matters |
|---|---|
| Object identity | exclusive GPU counter ownership |
| Rejected condition | a performance counter was already owned by another process or Direct3D device |
| What to capture | counter identifier, requesting device, active profilers, process list, acquisition and release timestamps |
| Current graph state | DXGI factory, adapter, device, resource or cache session |
| Supporting trace | DXGI debug messages, adapter LUID, driver version, device-removal reason where applicable and the exact API parameters |
Separate state from capability
- Close the competing profiler or device and request the same counter again.
The comparison with DXGI_ERROR_NONEXCLUSIVE is especially useful: DXGI_ERROR_NONEXCLUSIVE is the application-visible form of exclusive-resource contention.
Verify the repaired path
Serialize counter ownership and always release the counter on device teardown or abnormal capture cancellation.
- debug-layer, ETW or driver diagnostics no longer report the rejected exclusive GPU counter ownership contract during the same scenario.
Technical references
- Microsoft: DXGI error codes — background for the exclusive GPU counter ownership.
- 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.