All we REALLY need... is for developers to play the f out their games and properly create PSO caches and then include the full cache data with the game so we can compile every damn thing upon initial load...
It's a bit unrealistic to expect every developer to have every single possible GPU that is on the market today (discrete and integrated) and then run each of them through the game with multiple different driver sets and then redo that every single time NV, AMD or Intel release a driver (both release and BETA).
Even if you limit it to say the last 5 years of GPUs and drivers plus let's say the next 5 years worth of GPUs and drivers as they are released, that's a LOT of iterations and a lot of time. But then that also removes one of the best things about PC gaming. The fact that you can run even the newest games on some really REALLY old hardware. So, now you'd be limited to running the game on the past 5 years and next 5 years worth of hardware and drivers and if you fall outside of that, you're SOL. Assuming smaller developers can even afford to do all of that.
What would be more useful but still potentially really expensive is having companies that can do that for a developer ... at a cost. But again, smaller developers may not be able to afford it.
"Crowdsourcing" seems to be the best option for precaching, but then if you're an early adopter, hello stutters if still don't pre-generate the cache before running the game.
IMO, PC gaming developers should just bite the bullet and pre-compile the shaders at the start of the game. They can potentially check against a database to see if that hardware+driver combination already exists and download it instead of compiling it. Of course, then if you are a smaller developer you have to maintain a repository as well as pay any bandwidth fees incurred from downloads of that cache.
Of course, that's where a storefront can step in and host the shader caches per game. But it's possible bandwidth fees from that might be passed along to the developers anyway if it results in excessive extra bandwidth. IE - a user frequently downloading and installing drivers which may or may not trigger a need for a new shader cache.
Everything is always simple when looking from the outside in, but if it was so simple it'd be a solved problem.
IMO, the best and most simplistic option is to just pre-compile the shader cache when the game starts if it is needed or if a graphics setting change necessitates a re-compile then do it when applying those settings.
Regards,
SB