Это сообщение об ошибке ...
Failed to create shader cache entry: -2
... является записью журнала , созданной из функции int ShaderDiskCacheEntry::WriteCallback(int rv)
, определенной в shader_disk_cache.cc
Основная проблема заключалась в том, что код кэша шейдера удаляет все, кроме одного каталога кортежа временных меток .
Согласно Не удалось создать папку для кэша шейдера на диске Основная проблема заключалась в том, что код кэша шейдера удаляет все, кроме одного каталога кортежа временных меток.
Решение
В качестве решения были предприняты следующие шаги:
- Переместите все записи кэша в один каталог кэша и вместо этого используйте метку времени (вв будущем может быть build-id hash) и gpu id как часть входных данных кеша при вводе ша.
- Удаляет старые записи, когда кеш приближается к своему максимальному размеру.Хотя это решение немного усложняет сбор / распространение предварительно скомпилированных шейдеров, но не неразрешимо.
util/disk_cache
: временные метки хэша в ключах кэша
Вместо использованиякаталог, хэшируйте метки времени в самих ключах кеша.Поскольку больше нет каталога временных меток, больше нет необходимости удалять кэш других версий мезы, и мы полагаемся на удаление, чтобы очистить старые записи кэша.Это решает проблему одновременного использования нескольких вариантов disk_cache, где один удаляет каталог, принадлежащий другому.
- Это исправление отправлено Вс 12 марта 06:06: 00 UTC 2017 следует решить эту проблему с помощью обновления системы.
- Согласно лучшим рекомендациям :
Соответствующее обсуждение можно найти в Не удалось создать ошибку входа в кэш шейдера во времяпоиск элемента по его селектору Css