Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement FSR 1.0 Lite in the Vulkan renderer #3786

Open
Calinou opened this issue Jan 11, 2022 · 0 comments
Open

Implement FSR 1.0 Lite in the Vulkan renderer #3786

Calinou opened this issue Jan 11, 2022 · 0 comments

Comments

@Calinou
Copy link
Member

Calinou commented Jan 11, 2022

Describe the project you are working on

The Godot editor 🙂

Describe the problem or limitation you are having in your project

Godot's Vulkan Clustered backend now offers support for AMD FSR thanks to godotengine/godot#51679. There are two caveats though:

  • This FSR implementation is only available when using the Vulkan Clustered backend, not the Vulkan Mobile backend.
  • The "full" FSR implementation is too heavy to be usable on mobile and integrated graphics.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Add a "FSR Lite" scaling option as demonstrated here: https://atyuwen.github.io/posts/optimizing-fsr/

This FSR Lite implementation should ideally be made available both in the Vulkan Clustered and Vulkan Mobile backends. It should be exposed as a separate option from "full" FSR scaling. Also, when the user selects "full" FSR scaling on the Vulkan Mobile backend, it should fall back to FSR Lite.

FSR Lite looks a bit worse than vanilla FSR, but it performs much better on mobile GPUs and integrated graphics. It's fast enough to be usable on mid-range/high-end mobile.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

See the commits that added FSR Lite to the original FSR sample: https://github.com/atyuwen/FidelityFX-FSR/commits/master

If this enhancement will not be used often, can it be worked around with a few lines of script?

No, as FSR needs to be implemented in the core renderer for an optimal implementation.

Is there a reason why this should be core and not an add-on in the asset library?

FSR can't be optimally implemented with an add-on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant