Site icon EfmSoft

What does HRESULT 0x887E0001 (D3D12_ERROR_ADAPTER_NOT_FOUND) mean?

 
Previous Next
D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD D3D12_ERROR_DRIVER_VERSION_MISMATCH

D3D12_ERROR_ADAPTER_NOT_FOUND

What Windows rejected: adapter not found

Windows reports D3D12_ERROR_ADAPTER_NOT_FOUND (0x887E0001) at the d3d checkpoint. Here, a cached PSO or pipeline-library blob belongs to a different graphics adapter. That narrows the first investigation to cached Direct3D 12 pipeline state identity instead of the entire GPU stack.

Build a useful diagnostic record

Capture itemWhy it matters
Object identitycached Direct3D 12 pipeline state identity
Rejected conditiona cached PSO or pipeline-library blob belongs to a different graphics adapter
What to captureadapter LUID, vendor/device/subsystem IDs, cache header, pipeline-library version and current device identity
Current graph stateDirect3D device plus the descriptor, resource or cached pipeline object supplied by the application
Supporting traceDirect3D debug-layer output, object creation stacks, normalized descriptors, feature level and adapter/driver identity

Separate state from capability

  1. Capture the failing state. Record adapter LUID, vendor/device/subsystem IDs, cache header, pipeline-library version and current device identity.
  2. Move the cache between two adapters while rebuilding from source on the second adapter as the control.

The comparison with D3D12_ERROR_DRIVER_VERSION_MISMATCH is especially useful: D3D12_ERROR_DRIVER_VERSION_MISMATCH keeps the adapter but changes the driver/runtime version.

Verify the repaired path

Key cached pipeline data by adapter identity and fall back to rebuilding the PSO when the key changes.

  • debug-layer, ETW or driver diagnostics no longer report the rejected cached Direct3D 12 pipeline state identity contract during the same scenario.

Implementation notes

Technical references


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

Exit mobile version