Quick answer: Vulkan pipeline cache loaded from disk silently rejected by an updated driver? UUID changed; the binary is unusable - check header UUID before loading.
Player updates NVIDIA driver. Game's first launch takes 90 seconds (full pipeline rebuild). They report 'something broke'.
Validate cache UUID
VkPipelineCacheHeaderVersionOne header;
if (memcmp(header.pipelineCacheUUID, props.pipelineCacheUUID, VK_UUID_SIZE)) reject();Reject mismatched cache; rebuild. Clean restart instead of mysterious behavior.
Cache per driver
Filename includes driver version. Mismatch selects a different cache; old caches stay for rollback.
Pre-warm in loading
If rebuilding, hide behind loading screen. 'Optimizing for your GPU' is a friendlier UX than a freeze.
“Pipeline cache portability is per-driver-version. Detection is required.”
Plan for driver update events in your shipped game. The first launch after an update is meaningful UX.