| Previous | Next |
| DXGI_ERROR_CACHE_FULL | DXGI_ERROR_ALREADY_EXISTS |
DXGI_ERROR_CACHE_HASH_COLLISION
What Windows rejected: cache hash collision
DXGI_ERROR_CACHE_HASH_COLLISION, value 0x887A0035, is produced by dxgi error when the hash bucket contained an entry whose complete key did not equal the caller-provided key. The investigation should stay attached to shader-cache key integrity and to the exact generation in which it was obtained.
Build a useful diagnostic record
| Capture item | Why it matters |
|---|---|
| Rejected condition | the hash bucket contained an entry whose complete key did not equal the caller-provided key |
| What to capture | full key bytes, hash function input, stored key, cache namespace, driver version and whether keys were truncated or serialized differently |
| 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 |
| Object identity | shader-cache key integrity |
Separate state from capability
- Capture the failing state. Record full key bytes, hash function input, stored key, cache namespace, driver version and whether keys were truncated or serialized differently.
- Store two controlled keys with the same supplied hash while preserving their distinct full key data.
The comparison with DXGI_ERROR_ALREADY_EXISTS is especially useful: DXGI_ERROR_ALREADY_EXISTS means the desired element itself already exists.
Verify the repaired path
Use stable complete keys, handle collisions explicitly and replace only entries proven to belong to the same key.
- debug-layer, ETW or driver diagnostics no longer report the rejected shader-cache key integrity contract during the same scenario.
Implementation notes
Technical references
- Microsoft: DXGI error codes — background for the shader-cache key integrity.
- 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.