by Rachael » Mon Nov 19, 2018 2:10 pm
To be quite frank, you shouldn't even need to do that.
There are two things that can change the shader compilation: The driver doing it, and the shader program, itself. As long as those two stay consistent, that is what the shader cache is meant to help you with. If you have a dual GPU system - fine, all is dandy there, you compile two sets of shaders instead of one. It shouldn't be that complicated. Either way, Intel benefits, and NVidia sees no real drawbacks.
If a shader changes obviously it has to be recompiled. If you properly implement hashing to the original program, that's not an issue - it simply means the hash for the new shader source is gone. So? - recompile! Simple!
If you change your GPU, that again means the hashing scheme chanegs - simply recompile, problem solved.
As for old caches hanging around, that's what the prune is meant to solve - anything that is ~2 months old - gone.
The issues brought up in this thread overcomplicate the original issue unnecessarily.
To be quite frank, you shouldn't even need to do that.
There are two things that can change the shader compilation: The driver doing it, and the shader program, itself. As long as those two stay consistent, that is what the shader cache is meant to help you with. If you have a dual GPU system - fine, all is dandy there, you compile two sets of shaders instead of one. It shouldn't be that complicated. Either way, Intel benefits, and NVidia sees no real drawbacks.
If a shader changes obviously it has to be recompiled. If you properly implement hashing to the original program, that's not an issue - it simply means the hash for the new shader source is gone. So? - recompile! Simple!
If you change your GPU, that again means the hashing scheme chanegs - simply recompile, problem solved.
As for old caches hanging around, that's what the prune is meant to solve - anything that is ~2 months old - gone.
The issues brought up in this thread overcomplicate the original issue unnecessarily.