Home » Blogs » AMD FidelityFX™ Super Resolution 3.1 released as part of FidelityFX SDK 1.1

AMD FidelityFX™ Super Resolution 3.1 released as part of FidelityFX SDK 1.1

Colin Riley
Colin Riley

Colin leads AMD's Game Engineering Core Technology Group. Based out of Edinburgh, Scotland, he is focused on helping game developers get the most out of new rendering technologies on AMD GPUs for PC, Unreal Engine, and other partner ecosystems.

Highlights

The AMD FidelityFX SDK v1.1 update includes our hotly anticipated v3.1 update to AMD FidelityFX Super Resolution 3. As we revealed at GDC 2024, AMD FSR 3.1 provides many significant changes:

  • Frame Generation is now separate from upscaling
  • Upscaling quality improvements and new features
  • AMD FidelityFX API implementation
  • Vulkan® implementation

We’ve also updated our AMD FSR 3 plugin for Unreal Engine to v3.1, and it also supports UE 5.4:

AMD FSR Frame Generation separate from FSR upscaling

With FSR 3.0 frame generation, we required FSR upscaling be performed earlier in the graphics pipeline. This was because the frame generation algorithm required processed motion vector and depth data that was already created as part of FSR upscaling – and so the resources were simply used from there as a performance optimization. The downside of this was that it locked our frame generation to only work with our upscaling.

We now have a Frame Generation Prepare function, which takes motion vector and depth scene data pre-upscale, and it generates the required inputs required for Frame Generation. This allows Frame Generation to operate with any upscaler, including third party solutions.

Upscaling changes

FSR 3.1 has improvements which allow for better preservation of detail, and less temporal instability. Additionally, there are new features such as direct support for letterboxing. We also have improved quality in cases where items are excluded from our reactive mask inputs.

AMD FidelityFX API

This release of FSR requires an integration via the FidelityFX API. After discussion with partners, the number of code changes required at the pipeline level to move from one version of FSR to another was quite high, and no upgradable DLL path meant game rebuilds were required. We are resolving this with the introduction of the AMD FidelityFX API.

The AMD FidelityFX API revolves around a very small set of exported DLL functions for the creation, destruction, query, configure, and dispatch of effect operations. Those familiar with Vulkan will note its similarity to allow for extensions in the future.

We provide prebuilt, signed versions of official releases to ensure stability and upgradability of DLLs, if allowed by individual game releases.

Vulkan support

With FSR 3.1, we provide support for the Vulkan graphics API. The frame generation swapchain in Vulkan is different to DirectX®12, and requires some additional data from the game-side application to operate, so please refer to the sample for specific implementation details.

Frame Generation

AMD FSR 3.1 includes many fixes to frame generation to ensure frames presented to the user are as high quality as possible. This also includes additional changes to frame pacing to assist with smoothing out frame times even more than before.

A reminder that Anti-Lag should be disabled in the AMD Software -> Gaming Graphics settings for the best frame pacing experience.

Recommendations for Frame Generation use

When using AMD FSR 3 and FSR 3.1 frame generation, it is highly recommended to be always running at a minimum of ~60 FPS before frame generation is applied for an optimal high-quality gaming experience, and to mitigate any latency introduced by the technology. Consequently, we suggest you adjust game graphics settings, resolution, and upscaling quality modes to achieve this, based on the capabilities of the graphics hardware being used and your overall system specs.

If you have an AMD FreeSync™ compatible display, ensure AMD FreeSync is enabled in the AMD Software: Adrenalin Edition™ Application display settings.

On AMD Radeon™ RX 7000 Series graphics cards when using the Microsoft® Windows® 11 2022 Update, Hardware-Accelerated GPU Scheduling (HAGS) should be enabled in Windows under Settings -> System -> Display -> Graphics Settings**.**

AMD Radeon Anti-Lag should be disabled in the AMD Software: Adrenalin Edition Application control panel to avoid any issues with frame pacing smoothness or stuttering. This can be done in the specific game profile in the driver setting. We are working to fully enable AMD anti-lag technologies with AMD FSR 3 frame generation, which we will provide more details on in the future.

It is not recommended to use AMD FSR 3 and FSR 3.1 frame generation in combination with AMD Fluid Motion Frames. Frame Pacing smoothness may also be impacted by using other driver-based technologies and the use of third-party graphics overlays.

AMD FSR 3.1 supported products

AMD FSR 3 and FSR 3.1 are open technologies which do not require machine learning (ML) hardware, allowing support on a broad range of products and platforms, including consoles. When using FSR 3 and FSR 3.1 with super resolution upscaling and/or frame generation we recommend the following hardware:

Find out more

AMD FidelityFX SDK and AMD FidelityFX API

If you want to know more about our other updates to the AMD FidelityFX SDK, including the release of AMD FidelityFX Brixelizer GI, the other blogs associated with this release are below:

Links for Unreal Engine developers for AMD FSR 3.1.

Introducing AMD FidelityFX™ Brixelizer

As of FidelityFX SDK version 1.1, Brixelizer and Brixelizer GI are now unleashed to world so in this article we aim to discuss a few practical use cases and provide you with some tips you can apply for getting the most performance out of Brixelizer in your application.

Colin Riley
Colin Riley

Colin leads AMD's Game Engineering Core Technology Group. Based out of Edinburgh, Scotland, he is focused on helping game developers get the most out of new rendering technologies on AMD GPUs for PC, Unreal Engine, and other partner ecosystems.

Enjoy this blog post? If you found it useful, why not share it with other game developers?

You may also like...

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!

GPUOpen Manuals

Don’t miss our manual documentation! And if slide decks are what you’re after, you’ll find 100+ of our finest presentations here.

AMD GPUOpen Technical blogs

Browse our technical blogs, and find valuable advice on developing with AMD hardware, ray tracing, Vulkan®, DirectX®, Unreal Engine, and lots more.

AMD GPUOpen videos

Words not enough? How about pictures? How about moving pictures? We have some amazing videos to share with you!

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 software blogs

Our handy software release blogs will help you make good use of our tools, SDKs, and effects, as well as sharing the latest features with new releases.

AMD GPUOpen publications

Discover our published publications.