From 057c3d5c3520cd7c45111f9dfd61aaa097e082df Mon Sep 17 00:00:00 2001 From: Hans-Kristian Arntzen Date: Fri, 1 Jul 2022 20:12:02 +0200 Subject: [PATCH] Fix abs bug. Was using integer abs instead of FP abs in Lanczos LUT ... abs() was likely pulled in from MSVC macro version. This broke on GCC which used stdlib abs, which is integer by default ... --- src/ffx-fsr2-api/ffx_fsr2.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ffx-fsr2-api/ffx_fsr2.cpp b/src/ffx-fsr2-api/ffx_fsr2.cpp index 39d8f37..ac42b61 100644 --- a/src/ffx-fsr2-api/ffx_fsr2.cpp +++ b/src/ffx-fsr2-api/ffx_fsr2.cpp @@ -29,6 +29,7 @@ #include "shaders/ffx_fsr1.h" #include "shaders/ffx_spd.h" #include "shaders/ffx_fsr2_callbacks_hlsl.h" +#include #include "ffx_fsr2_maximum_bias.h" @@ -157,7 +158,7 @@ FfxConstantBuffer globalFsr2ConstantBuffers[3] = { // Lanczos static float lanczos2(float value) { - return abs(value) < FFX_EPSILON ? 1.f : (sinf(FFX_PI * value) / (FFX_PI * value)) * (sinf(0.5f * FFX_PI * value) / (0.5f * FFX_PI * value)); + return std::abs(value) < FFX_EPSILON ? 1.f : (sinf(FFX_PI * value) / (FFX_PI * value)) * (sinf(0.5f * FFX_PI * value) / (0.5f * FFX_PI * value)); } // Calculate halton number for index and base.