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.

Related reading