| Предыдущий | Следующий |
| DXGI_ERROR_CACHE_FULL | DXGI_ERROR_ALREADY_EXISTS |
DXGI_ERROR_CACHE_HASH_COLLISION
Что означает DXGI_ERROR_CACHE_HASH_COLLISION
DXGI_ERROR_CACHE_HASH_COLLISION (0x887A0035) — Запись кэша найдена, но переданный ключ не совпадает с ключом, сохранённым в записи.
Контекст результата 0x887A0035 — подсистема «DXGI» и область «адаптеры, outputs, swap chain, shared resources и представление кадров». Условие «запись кэша найдена, но переданный ключ не совпадает с ключом, сохранённым в записи» указывает на тему «кэш, hash, collision», а не на общий отказ всего компонента.
Что проверить и как подтвердить исправление
Не начинайте с общего сброса компонента: сопоставьте первый отказ с фактическими параметрами операции. При 0x887A0035 и условии «запись кэша найдена, но переданный ключ не совпадает с ключом, сохранённым в записи» сохраните исходные байты и проверьте формат, размер, подпись или checksum до любых преобразований; сравните с заведомо исправным образцом.
Перед повтором 0x887A0035 зафиксируйте LUID адаптера, feature level, параметры swap chain/output и сообщения DXGI/DRED/debug layer; отдельно запишите HRESULT, LUID. Различия по теме «кэш, hash, collision» для 0x887A0035 покажут, изменился ли первый неуспешный этап.
Коррекция для 0x887A0035 должна быть предметной: исправляйте конкретное ограничение режима или ресурса; после device removed/access lost пересоздайте устройство и все зависящие от него объекты. Для 0x887A0035 и сообщения «запись кэша найдена, но переданный ключ не совпадает с ключом, сохранённым в записи» общий сброс допустим лишь как контроль, но не как доказательство причины.
Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0x887A0035 это надёжнее единичного успеха на других данных.
Документация для результата 0x887A0035: DXGI error codes · DXGI overview · Direct3D 12 shader cache StoreValue.
Нужно найти другой код? Найти другой код состояния или ошибки.
