FSR1 integration by kd-11 · Pull Request #10664 · RPCS3/rpcs3

3 min read Original article ↗
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

Conversation

@kd-11

Adds the concept of upscalers and explicitly defines 2 variants: bilinear and FSR1. This has been in testing internally for the past week and it works pretty well for almost every game we have tried. The difference is very obvious, though shimmering and swimming issues present in low resolution upscales will remain in the upscaled image.

Restrictions (for now):

  • Does not work with 3D output. This is possible to do without too much effort but requires separate validation.
  • Only works with Vulkan. I do not see any demand to port this to OpenGL at the moment.
  • Uses the FP32 fallback only. For some precision reasons, it is common to disable FP16 support as a workaround. If the overhead is deemed to be measurable, we can of course enable the FP16 fast path for this.
LoweysLitsman, Illynir, aakh1361, schm1dtmac, AniLeo, KostaSaizo7, digitaldelboy, kampm, usmanliaqat97, Margen67, and 29 more reacted with thumbs up emoji LoweysLitsman, kytty00, schm1dtmac, AniLeo, digitaldelboy, usmanliaqat97, Margen67, Puxirepublic, cozykoko, kotn3l, and 14 more reacted with heart emoji MarcoEstevez, AniLeo, LoweysLitsman, MSuih, aakh1361, schm1dtmac, digitaldelboy, usmanliaqat97, Margen67, Puxirepublic, and 12 more reacted with rocket emoji dulsan, cyristm, EmulationPsycho, and AmbreM71 reacted with eyes emoji
- Just call destroy automatically on object destruct
- Only implemented for image upscaling.
- Disabled by default. Emulators cannot ensure upscalers are injected at the right rendering step.
- GUI integration not implemented.

Megamouse

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

@ghost

Since people are going to ask this question, I'll just proceed to ask first:
Do you need a FSR-compatible GPU (RX400 or newer, GTX1000 or newer) to utilize this feature?

@kd-11

Since people are going to ask this question, I'll just proceed to ask first:
Do you need a FSR-compatible GPU (RX400 or newer, GTX1000 or newer) to utilize this feature?

It is not gated in any way. If your GPU can consume the shader, it should work. There are known bugs in some older hw such as kepler when it comes to binding images in compute shaders that may cause visual issues, but for the most part, the code doesn't care what GPU you have.

nicolasteixeira3856, Puxirepublic, plyrthn, BluePlasticCup, Ntemis, kotn3l, aakh1361, doublah, and EmulationPsycho reacted with thumbs up emoji Ntemis and EmulationPsycho reacted with hooray emoji Ntemis and EmulationPsycho reacted with rocket emoji plyrthn, Ntemis, and EmulationPsycho reacted with eyes emoji

@ivanmem

it seems like after this merge, I stopped running god of war 3 on ryzen 3600 and 1050ti.
image

@AniLeo

Labels