top | item 40397024

(no title)

doophus | 1 year ago

What was the missing piece for "shader sharing"?

Would it be possible to build a web-hosted database of encountered shader configs against a game id, and have Dolphin fetch that list when a game launches and start doing async compilation?

When Dolphin encounters a new shader that wasn't in the db, it phones home to request it to be added it to the list.

I feel an automated sharing solution would build up coverage pretty quickly, and finding a stutter would eventually be considered an achievement - "no-one's been here before!"

discuss

order

mandarax8|1 year ago

Every shader depends on both the driver version and the model of your GPU itself. Which means a lot of shaders. I think Valve had a version of it though but not without issues (GBs of shaders to be downloaded)

91edec|1 year ago

The Steamdeck does this thats why it doesn't suffer from stutters.

For normal PC's, realistically Valve/Steam are the only people who could solve or implement this for PC games as they have the tech and platform to distribute it all. Even with all that its a crazy task to try and solve due to all of the variations and new patches for games that require the shaders to be recompiled again.

aprilnya|1 year ago

The idea here wasn’t to share the compiled shader, but to share the shader configurations that each game uses — the ones that are used to then compile the actual shader. So you would compile them all at game start from the configurations you downloaded

jdiff|1 year ago

To my knowledge, the massive size isn't from the drivers, but because transcoded video files are also slipped in with the shaders. Proton struggles with things like Media Foundation, so Valve transcodes videos on their end.