#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

#393 in Graphics APIs

Download history 8/week @ 2024-02-18 6/week @ 2024-02-25 3/week @ 2024-03-03 7/week @ 2024-03-10 116/week @ 2024-03-31

123 downloads per month
Used in phobos

MIT/Apache

8MB
6K SLoC

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

Contains (DOS exe, 7.5MB) glslangValidator.exe, (DOS exe, 240KB) FidelityFX_SC.exe

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.

Dependencies