intel: make shader cache content deterministic
What does this MR do and why?
On Intel platforms, the shader cache serializes data structures that contain pointer values. These values are overwritten when reading the cache, but their presence means that compiling a program twice will generate different shader cache content.
Shader cache content should be deterministic. A deterministic shader cache will be useful to verify that shader compilation is deterministic.