Don’t cross the streams! Bust more ghosts with the source code to FidelityFX Super Resolution 2.2

We’re pleased to announce the availability of the FidelityFX Super Resolution 2.2 source code!

Since announcing FSR 2.2 at our RDNA 3 reveal event, we have seen integrations in many games that have allowed for higher quality upscaling compared to our previous FSR 2.1 release. FSR 2.2 has new logic that aims to reduce “High Velocity Ghosting” – a situation that is particularly common in racing games, where a third-person vehicle moves at speed on a relatively flat surface. Today, the FSR 2.2 source code and accompanying sample is available to all through our GitHub repository.

The comparison images below show FSR 2.2 in Need for Speed™ Unbound1.


You can also see FSR 2.2 in action in the Forza Horizon 52 comparison video below.

Link to FSR 2.2 Forza Horizon 5 comparison video

FSR 2.2 also introduces a brand new “Debug API Checker” feature, which we recommend is enabled in debug builds while developers work on FSR 2 integrations. This allows for debug messages to be passed from the FSR 2 runtime back to games, notifying engineers of possible issues with the data provided at runtime. Common issues are near/far plane values which can cause depth precision problems, and frame time deltas being in the wrong units. With the Debug API Checker, these are validated every frame – saving time when integrating.

As with previous releases, there are many other changes which aim to increase quality. Some of the more major changes are listed below.

Change

Impact

Changed how internal signals are stored and tonemapped

FSR 2.2 should now be compatible with a wider set of high dynamic range inputs. Previously, some dynamic range could be lost in computation.

Depth logic modified to improve disocclusion detection

FSR 2.2 should reduce the level of “fizzing” artefacts seen during dissoclusions.

Accumulation logic overhauled to use temporal reactivity

FSR 2.2 should reduce the level of “fizzing” artefacts seen during dissoclusions.

RCAS is now run without tonemapping

FSR 2.2 should retain more dynamic range during the RCAS step.

Dilated reactive mask logic updated to use temporal motion vector divergence

This is used to assist with our “locking” feature, and should reduce some cases of ghosting artefacts.

Improved luminance instability logic with history

FSR 2.2 should have improved temporal stability – i.e, less flickering on some objects.

The FSR 2.2 documentation has been updated to reflect these changes. There are also some fixes for issues raised via GitHub and we thank the community for continuing to make FSR 2 better by providing us with this feedback!

The application-side FSR 2 API has not changed significantly, except for additions to enable the Debug API Checker. Moving to FSR 2.2 from 2.1 or 2.0 should be relatively simple, however, the Application Binary Interface (ABI) can be different. As a result, swapping FSR 2 implementation DLLs is not recommended. Instead, rebuilding integrations with the new headers is best practice. Lastly, FSR 2.2 introduces some changes that may affect how values in both Reactive Mask and Transparency & Composition Mask textures impact upscaling, so developers may need to tweak those mask contents for the best quality. If there are any issues, please reach out to your AMD representative for assistance.

FSR 2.2 for Unreal Engine is in-progress and we will provide updates shortly. For more information, please visit our FSR 2 page.


1

Need for Speed™ Unbound © 2022 Electronic Arts Inc.

2

Forza Horizon 5 © 2022 Microsoft Corporation. All rights reserved.

Latest news

HIP Ray Tracing

Introducing HIP RT v2.2

With the release of v2.2, HIP RT now support multi-level instancing. Multi-level instancing can help to reduce memory requirements, allowing you to render large scenes with limited memory.

Looking for a good place to get started with exploring GPUOpen?

Getting started: AMD GPUOpen software

New or fairly new to AMD’s tools, libraries, and effects? This is the best place to get started on GPUOpen!

AMD GPUOpen Getting Started Development and Performance

Looking for tips on getting started with developing and/or optimizing your game, whether on AMD hardware or generally? We’ve got you covered!

You may also like...

AMD GPUOpen documentation

Explore our huge collection of detailed tutorials, sample code, presentations, and documentation to find answers to your graphics development questions.

AMD GPUOpen Effects - AMD FidelityFX technologies

Create wonder. No black boxes. Meet the AMD FidelityFX SDK!

AMD GPUOpen Performance Guides

The home of great performance and optimization advice for AMD RDNA™ 2 GPUs, AMD Ryzen™ CPUs, and so much more.

AMD GPUOpen Samples

Browse all our useful samples. Perfect for when you’re needing to get started, want to integrate one of our libraries, and much more.

AMD GPUOpen developer SDKs

Discover what our SDK technologies can offer you. Query hardware or software, manage memory, create rendering applications or machine learning, and much more!

AMD GPUOpen Developer Tools

Analyze, Optimize, Profile, Benchmark. We provide you with the developer tools you need to make sure your game is the best it can be!