Quick answer: Vulkan pipeline cache crashing the game after a driver downgrade? Pipeline cache keys include driver version - validate cache header on load and reject mismatches.
Player rolls back from beta to stable driver. Game crashes on first launch; deleting the cache fixes it.
Validate cache header
VkPipelineCacheHeaderVersionOne header;
fread(&header, sizeof(header), 1, f);
if (header.vendorID != props.vendorID) reject();The 32-byte header has vendor, device, and UUID. Compare against the current device before loading.
Or include driver in path
Cache file path: cache_v{driverVersion}.bin. Driver changes select a different cache. Old caches linger until you clean them up; new launches always see a matching cache.
Catch and discard on load failure
Wrap vkCreatePipelineCache in try/catch (or check result). If it fails, delete the file and continue with empty cache. The next launch repopulates.
“Pipeline cache is portable until it isn't. Validate.”
Telemetry the cache hit rate. A sudden drop signals driver updates rolling out; you'll know before crash reports do.