#ffi #graphics #fsr2

sys fsr2-sys

Unsafe FFI bindings for AMD's FidelityFX Super Resolution 2 library (FSR2)

7 releases

0.1.6 May 24, 2023
0.1.5 May 24, 2023

#347 in Graphics APIs

Download history 172/week @ 2023-05-22 31/week @ 2023-05-29

203 downloads per month
Used in phobos


5.5K SLoC

C++ 4K SLoC // 0.1% comments Rust 745 SLoC GLSL 392 SLoC // 0.3% comments HLSL 381 SLoC // 0.3% comments Batch 86 SLoC // 0.1% comments

FidelityFX Super Resolution 2.2 (FSR 2.2)

AMD FidelityFX Super Resolution 2 (FSR 2) is an open source, high-quality solution for producing high resolution frames from lower resolution inputs.

This crate provides unsafe, 1:1 Rust bindings for the FSR2 library. For documentation on how to use the library, please refer to https://github.com/GPUOpen-Effects/FidelityFX-FSR2.

The crate uses a custom fork of FSR2 with minimal changes:

  • Removed dependency on cauldron-media to avoid downloading unused sample assets
  • Does not build sample backends by default
  • Vulkan backend does not link to Vulkan at all, instead relies on provided function pointers on initialization.

Known issues

  • Bindings for the DirectX12 backend are currently missing.
  • Computer can freeze for a couple seconds during build. This is due to FSR2 generating shader permutations using a bunch of threads.