/// <summary> /// Initialize the cache. /// </summary> /// <param name="cancellationToken">Cancellation token to cancel the shader cache initialization process</param> internal void Initialize(CancellationToken cancellationToken) { if (_diskCacheHostStorage.CacheEnabled) { if (!_diskCacheHostStorage.CacheExists()) { // If we don't have a shader cache on the new format, try to perform migration from the old shader cache. Logger.Info?.Print(LogClass.Gpu, "No shader cache found, trying to migrate from legacy shader cache..."); int migrationCount = Migration.MigrateFromLegacyCache(_context, _diskCacheHostStorage); Logger.Info?.Print(LogClass.Gpu, $"Migrated {migrationCount} shaders."); } ParallelDiskCacheLoader loader = new ParallelDiskCacheLoader( _context, _graphicsShaderCache, _computeShaderCache, _diskCacheHostStorage, cancellationToken, ShaderCacheStateUpdate); loader.LoadShaders(); int errorCount = loader.ErrorCount; if (errorCount != 0) { Logger.Warning?.Print(LogClass.Gpu, $"Failed to load {errorCount} shaders from the disk cache."); } } }
/// <summary> /// Initialize the cache. /// </summary> /// <param name="cancellationToken">Cancellation token to cancel the shader cache initialization process</param> internal void Initialize(CancellationToken cancellationToken) { if (_diskCacheHostStorage.CacheEnabled) { ParallelDiskCacheLoader loader = new ParallelDiskCacheLoader( _context, _graphicsShaderCache, _computeShaderCache, _diskCacheHostStorage, cancellationToken, ShaderCacheStateUpdate); loader.LoadShaders(); int errorCount = loader.ErrorCount; if (errorCount != 0) { Logger.Warning?.Print(LogClass.Gpu, $"Failed to load {errorCount} shaders from the disk cache."); } } }