• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Mod ads FSR 2.0 to Cyberpunk 2077

winjer

Gold Member


FSR 1.0
3001-1656008929-1876373063.jpeg


FSR 2.0
3001-1656008881-711159863.jpeg



If it becomes possible to just mod FSR 2.0 into games that support DLSS, it could become a game changer.
 

hlm666

Member
Looks like some big ghosting behind the cars wheels in both shots. Curious to see how it stacks up in other scenes, apart from that it's a pretty good upgrade.
 
Cool, DLSS is really necessary in Cyberpunk so I'm glad everyone has a similar solution now

Man that FSR 1.0 image though. I really hate these upscalers that just look like a normal upscaled image with some ugly sharpening applied
 

RoboFu

One of the green rats
Cyberpunk is a good test for any reconstruction methods. With dlss I saw a lot of weird patterns emerge because of A lot textures are symmetric lines.
 

winjer

Gold Member

It's an interview with the guy that created the mod that adds FSR 2.0 to CP 2077. I'll just leave here some of the most interesting questions.


Were there any surprises in terms of things being harder or easier to accomplish?

PotatoOfDoom: The main DLSS and FSR input buffers are the same. I basically just copied the FSR integration from the AMD example, set the FoV/Depth values, launched the game and immediately got a pretty decent image. The worst thing was a quirk in Cyberpunk where the game wouldn't reset a special DirectX structure (ComputeRootSignature) after running DLSS. This is not so important for Nvidia's DLSS since it uses CUDA, but unfortunately FSR uses ordinary DirectX compute shaders, which break the game. So I had to find a way to restore that structure after running FSR.

Do FSR 2.0 and DLSS have similar requirements in terms of what inputs they require?

PotatoOfDoom: Yes, otherwise this mod would not be possible. Both integrations need color, motion vectors and a depth buffer as input. In addition, they use the masks I mentioned earlier. They are very important for things that don't have motion vectors, like particles or animated textures like smoke and computer screens in the game and wrongly applied masks are the main reason for ghosting appearing in a game. Also, FSR needs to know the FOV and the near and far planes of the depth buffer. DLSS doesn't need that additional information (I guess it figures that out via the integrated ML algorithm).

Will it be possible to create a drop-in DLSS replacement that works across a range of games ('dlss2fsr', as suggested by a Github user) or do you see it being more of a series of mods each tailored to a given game?

PotatoOfDoom: Only with a few compromises. It would be possible to create some kind of mod that gets the FoV and Depth values from a simple ini file. This mod could work for almost any DLSS game, but the image quality might not be as good as it could be. I mean even Nvidia optimizes DLSS for certain games. For example, the first versions of DLSS had terrible ghosting in Cyberpunk, while later updates to DLSS improved the situation. I can't speak for other games, but for example Cyberpunk unintentionally sends the object ID buffer to DLSS (which is a buffer that assigns a single color value to each object in the scene). DLSS doesn't need this buffer and can't do anything with this information, but this allows me to improve anti-ghosting (especially when driving) tremendously. Also, the ComputeRootSignature bug I mentioned earlier is unique to Cyberpunk and makes this version of the FSR mod incompatible with any other game. Every single game has some unique quirks or even bugs that make it important to optimize each game to get the best experience. I obviously can't do something like this for every single game, but I think if there is some kind of DLSS2FSR framework, it should be possible for other developers with some programming experience to easily integrate and optimize FSR for other DLSS games.
 
Top Bottom